本文分享自华为云社区《云主机安装Redis并模拟电商平台秒杀抢购场景》,作者:开发者空间小蜜蜂。

1.1 案例介绍

Redis 是一个高性能的key-value数据库。Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。因此Redis常用于缓存系统和队列系统。

本案例将指导开发者如何在云主机中安装和配置Redis,如何在Java项目中使用Jedis对接Redis服务器实现缓存功能并且使用CodeArts IDE模拟运行电商秒杀抢购场景。

1.2 免费领取云主机

如您还没有云主机,可点击链接,领取专属云主机后进行操作。

如您已领取云主机,可直接开始实验。

1.3 实验流程

  1. 在云主机上安装Redis并设置密码;

  2. 下载示例代码到云主机;

  3. 使用CodeArts IDE打开示例代码工程并修改Redis配置;

  4. 在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”,点击右面的运行按钮,开始模拟测试。

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

云主机安装Redis,基于CodeArts模拟电商平台秒杀抢购的更多相关文章

  1. Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战

    Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...

  2. Linux云主机安装JDK,配置hadoop的详细方式

    云主机我使用的是青云的,还有好多其他品牌,比如阿里云 unitedstack 等等. 注册完青云后,会有试用券发到账户,可以利用此券试用其服务. 1 首先创建好一个主机,按照提示选择好系统,创建好一个 ...

  3. Ubuntu腾讯云主机安装分布式memcache服务器,C#中连接云主机进行存储的示例

    Ubuntu腾讯云主机安装分布式memcache服务器,C#中连接云主机进行存储的示例(github代码:https://github.com/qq719862911/MemcacheTestDemo ...

  4. 【基于微信小程序的社区电商平台】Alpha迭代心得

    项目团队:小豆芽 开发周期:11.5-12.2(Alpha版本) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题:当前电商平台卖家买家角 ...

  5. 【基于微信小程序的社区电商平台】需求分析心得——小豆芽

    一.项目内容 基于微信小程序,做一个社区电商平台,抓住社区电商的特点,做出特色,与微信集成,实现商品的个性化发布,以及个性化营销. 个性化发布:用户可以在应用上直接发布自己的商品,通过搜索心愿单可以查 ...

  6. 39、生鲜电商平台-redis缓存在商品中的设计与架构

    说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而附带商品有各种计数(喜欢数,评论数,鉴定数,浏览数,etc ...

  7. Java生鲜电商平台-redis缓存在商品中的设计与架构

    Java生鲜电商平台-redis缓存在商品中的设计与架构 说明:Java开源生鲜电商平台-redis缓存在商品中的设计与架构. 1. 各种计数,商品维度计数和用户维度计数 说起电商,肯定离不开商品,而 ...

  8. 谈B2B电商平台与大数据

    数据为王,服务为本——谈B2B电商平台与大数据 2013-06-27 11:10:41 作者:B2B行业资讯 标签:                             大数据           ...

  9. Java开源生鲜电商平台-监控模块的设计与架构(源码可下载)

    Java开源生鲜电商平台-监控模块的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-监控模块的设计与架构,我们谈到监控,一般设计到两个方面的内容: 1. 服务器本身的监控.(比如:linux ...

  10. Java生鲜电商平台-高可用微服务系统如何设计?

    Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...

随机推荐

  1. Linux中的一些命令

    1.新增新用户lili,不允许登录系统,用户ID为3000===useradd -u 3000 -s /sbin/nologin lili2.循环创建目录 /www/wwwroot/html/test ...

  2. 使用DeepKE训练命名实体识别模型DEMO(官方DEMO)

    使用DeepKE训练命名实体识别模型DEMO(官方DEMO) 说明: 首次发表日期:2024-10-10 DeepKE资源: 文档: https://www.zjukg.org/DeepKE/ 网站: ...

  3. Nuxt.js 应用中的 kit:compatibility 事件钩子详解

    title: Nuxt.js 应用中的 kit:compatibility 事件钩子详解 date: 2024/10/11 updated: 2024/10/11 author: cmdragon e ...

  4. 6.flask 源码解析:响应

    目录 一.flask 源码解析:响应 1.1 response 简介 1.2 flask 响应(response) 1.3 werkzeug response 1.4 自定义 response Fla ...

  5. 0402-Tensor和Numpy的区别

    0402-Tensor和Numpy的区别 目录 一.tensor数据和ndarray数据相互转换 二.广播法则 pytorch完整教程目录:https://www.cnblogs.com/nickch ...

  6. k8s-NFS系统配置

    k8s-NFS系统配置 NFS(network filesystem),nfs文件系统在k8s中主要用于持久化存储,可以被多个pod访问和共享数据. 特点 数据持久性 nfs为k8s的pod提供了一种 ...

  7. 基于 KubeSphere 部署 KubeBlocks 实现数据库自由

    作者:尹珉, KubeSphere Contributor & Ambassador,KubeSphere 社区用户委员会杭州站站长. KubeSphere 是什么? KubeSphere 是 ...

  8. centos rar文件解压不出

    楼主的项目开发是在centos系统上面的,但是经常小伙伴发的压缩文件都是rar格式的. 在centos系统自带的解压的软件并不能解压rar格式的文件: 双击文件时,能弹出解压窗口,可是发现可以解压的更 ...

  9. NlogN 求最长不下降子序列(LIS)

    最长不下降子序列是一道非常经典的题目,我们假设题目如下: 有一个数组 $ a $,现在要从中抽取一个严格上升的子序列(子序列就是你可以从原序列里删除一些数,保留一部分数得到的新数列)(严格上升也就是不 ...

  10. 2021年华为Java面试真题解析,帮你解决95%以上的问题!

    前言 由于作者面试过程中高度紧张,本文中只列出了自己还记得的部分题目. 经历了漫长一个月的等待,终于在前几天通过面试官获悉已被蚂蚁金服录取,这期间的焦虑.痛苦自不必说,知道被录取的那一刻,一整年的阴霾 ...