使用华为开发者空间,部署Redis,通过Codelabs的示例代码,模拟电商平台秒杀抢购场景【华为开发者空间】
前言
Redis 常用于缓存系统和队列系统,是一个高性能的key-value数据库,为了提高效率Redis会将数据尽可能多的缓存在内存中,并周期性的把更新数据写入磁盘或者把修改操作写入追加的记录文件,同时在此基础上实现了master-slave(主从)同步。
本案例将指导开发者如何在华为开发者空间免费申请云主机(Ubuntu系统)中安装和配置Redis,并通过Codelabs上的Java版本的电商平台秒杀示例项目,带大家一起体验下如何使用Jedis对接Redis服务器实现缓存功能,并使用开发者空间上预装的CodeArts IDE for java模拟运行电商秒杀抢购场景。
配置“开发者空间”
如您还没有云主机,可点击 https://bbs.huaweicloud.com/forum/thread-0205160132391256007-1-1.html 进行开通
如果已经订阅了开发者空间,直接访问 https://developer.huaweicloud.com/space/home 即可
然后点击“开发桌面”(如果太长时间未使用,开发者空间会被回收,需要重新配置领取)
在对云主机进行配置的时候,其余选项全部默认即可,但是工具这里建议选择Java(因为后续用到的CodeLabs代码是Java版本的)
然后点击“安装”按钮,可以看到云主机立马就“就绪”了。点击“进入桌面”开始体验云主机
每次访问开发者空间,都需要进行“环境准备”,大概等个3-5分钟左右
项目实战
Redis环境搭建
安装 Redis
在Ubuntu云桌面下方,找到Terminal终端并打开
在命令行中输入命令 sudo apt-get install redis-server
安装redis服务器
输入命令“sudo systemctl status redis-server”可以看到 Redis 服务的运行状态activate (running) 说明服务已经正在运行中,按下 ctrl+c,退出查询状态
测试redis
接下来,使用命令 redis-cli
登录redis并测试数据的保存和获取(由于没有设置密码,可以直接登录)
测试命令
set <key> <value>
用来存储数据get <ket>
在输入命令的时候,会有代码提示
Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set:有序集合)。因此这里会把数字当成字符串来存取。
最后,输入 exit
退出 redis
配置redis密码
使用 ls /etc/redis
命令,可以看到 redis 的配置文件 —— redis.conf
使用命令 sudo vim /etc/redis/redis.conf
打开并编辑配置文件,找到“requirepass”这一行,把注释符号“#”删除,并将“foobared”改成想要设置的密码。
提示,可以输入“/<关键词>”进行搜索,按N跳转到下一个
按 “i” 进入编辑模式,可以修改代码
“:wq”保存并退出
接下来使用命令 sudo systemctl restart redis-server
重启redis。重启完后,使用 sudo systemctl status redis-server
查看redis服务的运行状态
再使用命令 redis-cli
登录到redis控制台,并使用 get name
获取数据发现报错,提示我们认证失败 NOAUTH Authentication required
由于前面已经设置了登录密码,所以现在必须要使用之前配置的密码登录。
输入 exit
退出控制台,输入如下命令进行登录
redis-cli -h localhost -p 6379 -a <你的密码>
然后再使用 get <key>
获取数据。
运行模拟场景
通过Codelabs下载代码
在浏览器地址栏输入 https://codelabs.developer.huaweicloud.com/codelabs/home 进入“开发体验馆 Codelabs”
开发体验馆 Codelabs 提供丰富的华为云产品代码示例和便捷的线上编码环境,帮助开发者学习和了解如何基于华为云服务进行应用开发
在Codelabs页面的搜索栏中,输入“电商”,可以看到搜索出来的两个代码都是Redis实现的Java版本项目
因此,前面在创建云主机的时候,工具配置建议选择Java
选择第二个“Redis实现(电商网站)秒杀抢购示例(Java版本) ”。进入对应的页面后,点击“浏览代码”
在代码页面,点击右上角的“下载”按钮进行下载
注意:这里要先登录账号,才能正常下载
CodeArts IDE 打开代码
找到下载的代码压缩包,解压缩到当前目录
在云主机的桌面,找到CodeArts IDE,双击打开
点击打开工程,找到我们之前下载并解压的项目
CodeArts IDE 修改配置
打开“src\main\java\com\huaweicloud\dcs\DistributedLock.java”文件,修改HOST、PORT以及redis密码等配置信息
- HOST改为127.0.0.1
- PORT改为6379,
- 密码改为你之前设置的密码(代码第73行)
CodeArts IDE 使用调试功能模拟秒杀场景
左侧代码切换到 CaseTest.java,点击代码左侧的三角形运行符号
在控制台看到运行结果。
可以看到,总共只有10台设备,在前10个人抢购完成后,后续用户购买就会返回已售罄的错误标识。实验成功
总结
-
华为开发者空间是一个很好的免费线上独立环境,你可以在云上部署和运行代码(但是注意:长时间不使用代码会被回收)
快速访问:https://developer.huaweicloud.com/space/home -
Codelabs提供丰富的华为云产品代码示例,当你想要使用某个华为云产品,但对如何编写代码没有头绪时,不妨到Codelabs上搜索相关实例并运行看看
快速访问:https://codelabs.developer.huaweicloud.com/codelabs/home
我正在参加【有奖征集 第34期】华为开发者空间一行代码快速上云,参与视频、文章投稿赢2000元开发者礼包
链接:https://bbs.huaweicloud.com/blogs/438987
- 点赞
- 收藏
- 关注作者
评论(0)