云主机安装Redis模拟电商平台秒杀抢购场景
云主机安装Redis模拟电商平台秒杀抢购场景
1 概述
1.1 背景介绍
Redis 是一个高性能的key-value数据库,常用于缓存系统和队列系统。在秒杀场景中,使用 Redis 实现分布式锁是一个常见的做法。这种场景下,需要确保同一时间只有一个用户能够成功下单,以防止超卖的情况发生。
1.2 适用对象
- 企业
- 个人开发者
- 高校学生
1.3 案例时间
本案例总时长预计60分钟。
1.4 案例流程
{{{width="35%" height="auto"}}}
① 在云主机上安装Redis并设置密码; ② 下载示例代码到云主机; ③ 使用CodeArts IDE打开示例代码工程并修改Redis配置; ④ 在CodeArts IDE上运行模拟测试文件查看结果。
1.5 资源总览
| 云资源 | 消耗/时 | 时长/分钟 |
|---|---|---|
| 开发者空间-云主机 | 免费版(操作系统:Ubuntu,CPU架构:X86,工具: Java工具集(CodeArts IDE +OpenJDK +Git)) | 60 |
合计:0元
2 安装配置Redis
2.1 在云主机上安装Redis
进入云主机后,点击下方菜单的“Terminal Emulator”按钮,打开命令行工具。


在命令行中输入命令“sudo apt-get install redis-server”安装redis。中途希望继续执行步骤输入y。


输入命令“sudo systemctl status redis-server” 确认redis已经安装并且服务正在运行。

确认安装好以后,键盘输入“ctrl+c”退出查看状态,接下来登录redis并测试数据的保存和获取,输入命令“redis-cli”登录到redis控制台,由于没有设置密码,所以可以直接登录。

登录后,使用set \<key> \<value>和get \<key>命令实现数据的保存和获取,先输入“get city”查看city的值。

由于没有保存city的值所以是nil,现在输入命令“set city beijing”保存数据。

接下来再使用“get city”来查看city的值。

现在通过city这个key可以获取到beijing这个value值。
最后键盘输入“ctrl+c”退出redis控制台连接。
2.2 修改Redis配置,配置密码
安装好redis后,需要给redis服务器设置密码,先找到redis的配置文件,按照上面方式安装的redis,配置文件路径为/etc/redis/redis.conf,使用命令“sudo vim /etc/redis/redis.conf”打开并编辑配置文件,并找到“requirepass”这一行(可通过英文输入法下,在vim视图输入“/requirepass“, 单击“enter”回车键进入搜索, 单击“n”键表示查找下一个匹配项),单击“i”键进入插入模式,把前面的注释符号“#”删除,并将“foobared”改成想要设置的密码。


然后按“Esc”退出插入模式,输入“:wq”命令保存文件,接下来使用命令“sudo systemctl restart redis-server”重启redis。

然后我们在使用命令“redis-cli”登录到redis控制台,并使用“get city”获取数据发现报错,提示我们认证失败。

因为我们已经设置了登录密码,所以现在需要使用密码登录,先输入“ctrl+c”退出控制台,再输入如下命令“redis-cli -h localhost -p 6379 -a \<你的密码>”登录,再使用“get city”,这次可以获取到数据。

3 对接Redis并运行模拟场景
3.1 下载示例代码
打开云主机的火狐浏览器,地址栏输入:https://codelabs.developer.huaweicloud.com/codelabs/samples/dac4adfa38db4e9d98734b1e5edebb5f/view-code/e95253901fca11ea8b68fa163e6e3ea0
打开示例代码页面,登录后点击下载按钮。

找到下载的代码压缩包,解压缩到当前目录。


打开云主机的CodeArts IDE,用IDE打开工程,选择项目代码。


打开工程后,稍等片刻,等待IDE加载java相关工具和项目适配。

3.2 修改代码对接Redis
打开“src\main\java\com\huaweicloud\dcs\DistributedLock.java”文件,修改HOST、PORT以及Redis密码等配置信息:
-
HOST改为127.0.0.1
-
PORT改为6379
-
下面密码改成步骤2.2设置的密码即可

3.3 使用CodeArts IDE的调试功能模拟秒杀场景
打开“src\main\java\com\huaweicloud\dcs\CaseTest.java”文件,添加IDE的运行配置,打开右上角配置的下拉菜单,点击“编辑配置”。

在弹出框内点击左上角的“+”添加配置项。

在新的菜单中选择“Java”,在展开的菜单中选择“Launch Current File”,点击“确定”。

接着就可以在菜单中选到新配置。

打开项目测试运行文件“CaseTest.java”,运行配置选择“Launch Current File”,点击右面的运行按钮,开始模拟测试。

可以在下面的控制台看到运行结果:

使用2u4g规格的云主机,可能会因为内存不足的原因导致上面执行步骤失败报错,这时可以在命令行工具通过命令来执行。
首先,进入项目代码根目录,右键点击空白处,在菜单中选择命令行工具,

在命令行中执行如下命令安装maven工具:
sudo apt install maven


然后执行如下命令打包项目:
mvn clean install

打包成功后,在运行如下命令:
mvn exec:java -Dexec.mainClass="com.huaweicloud.dcs.CaseTest"

可以看到,项目成功运行,本案例操作结束。
更多推荐

所有评论(0)