云主机安装 Redis,基于 CodeArts 模拟电商平台秒杀抢购
本文分享自华为云社区《云主机安装Redis并模拟电商平台秒杀抢购场景》,作者:开发者空间小蜜蜂。
1.1 案例介绍
Redis 是一个高性能的 key-value 数据库。Redis 支持各种不同方式的排序。与 memcached 一样,为了保证效率,数据都是缓存在内存中。区别的是 Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从)同步。因此 Redis 常用于缓存系统和队列系统。
本案例将指导开发者如何在云主机中安装和配置 Redis,如何在 Java 项目中使用 Jedis 对接 Redis 服务器实现缓存功能并且使用 CodeArts IDE 模拟运行电商秒杀抢购场景。
1.2 免费领取云主机
如您还没有云主机,可点击链接,领取专属云主机后进行操作。
如您已领取云主机,可直接开始实验。
1.3 实验流程

在云主机上安装 Redis 并设置密码;
下载示例代码到云主机;
使用 CodeArts IDE 打开示例代码工程并修改 Redis 配置;
在 CodeArts IDE 上运行模拟测试文件查看结果。
1.4 实验资源

合计:0 元
1.5 在云主机上安装 Redis
进入云主机后,点击左面菜单的“终端”按钮,打开命令行工具。


在命令行中输入命令“sudo apt-get install redis-server”安装 redis。

输入命令“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 值。
1.6 修改 Redis 配置,配置密码
安装好 redis 后,需要给 redis 服务器设置密码,先找到 redis 的配置文件,按照上面方式安装的 redis,配置文件路径为/etc/redis/redis.conf,使用命令“sudo vim /etc/redis/redis.conf”打开并编辑配置文件,并找到“requirepass”这一行,把前面的注释符号“#”删除,并将“foobared”改成想要设置的密码。


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

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

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

1.7 下载示例代码
打开云主机的火狐浏览器,地址栏输入:https://codelabs.developer.huaweicloud.com/codelabs/samples/dac4adfa38db4e9d98734b1e5edebb5f/view-code/e95253901fca11ea8b68fa163e6e3ea0
打开示例代码页面,登录后点击下载按钮。

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

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


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

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

1.9 使用 CodeArts IDE 的调试功能模拟秒杀场景
首先添加 IDE 的运行配置,打开右上角配置的下拉菜单,点击“编辑配置”。

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

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

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

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

可以在下面的控制台看到运行结果,实验结束。

评论