华为云征文|基于华为云Flexus X实例部署Redis及案例实践详解

2024-09-03 04:28

本文主要是介绍华为云征文|基于华为云Flexus X实例部署Redis及案例实践详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 前言

一、华为云Flexus X实例购买

1.1 Flexus X实例购买

1.2 登录Flexus X实例

二、Flexus X实例安装宝塔面板

2.1 安装宝塔面板

2.2 开放宝塔面板端口

2.3 登录宝塔面板

三、华为云Flexus X实例部署Redis

3.1 宝塔面板安装Redis

3.2 Redis密码设置及第三方登录

3.3 开放Redis端口

四、基于Flexus X实例实践Redis案例

4.1 发红包

4.2 抢红包

总结


 前言

       相信作为一个开发者,应该都了解Linux服务器,在项目部署前,是不是总要花费大量时间去安装各种环境和软件,过程中可能会遇到各种预料之外的问题。本文,我要给大家介绍的是华为云Flexus X实例,并结合宝塔可视化面板快速、便捷地安装非关系型数据库Redis,并利用Flexus X实例进行Redis案例实践探讨。

一、华为云Flexus X实例购买

1.1 Flexus X实例购买

在开始本文的实践之前,需要在华为云官网上购买Flexus X实例,这个一般可以根据自己的实际需求项目选择合适的配置,比如CPU、内存、存储和网络带宽等。

8b5e99e4e6174443bb2d3f7b33dabbd5.png

购买成功后,可以在华为云控制台中看到刚刚购买的Flexus X实例服务器,本文已购买的4核12G的实例,详细配置如下:

6da673ffb8ea4671b37feda06f25f161.png

1.2 登录Flexus X实例

这里需要注意的是,首次购买后,需要重置服务器的登录密码,以便能够远程登录到服务器中。在华为云控制台中,找到Flexus云服务器X实例,点击“重置密码”按钮,然后按照提示设置新的登录密码。

cd2a2ee5f8d244e9af0248cc91adb279.png

接下来就可以登录到Flexus云服务器X实例中,进入终端之后,会提示 Welcome to Huawei Cloud Service,说明成功登录。

二、Flexus X实例安装宝塔面板

完成上述基础准备工作之后,接下来就可以进行宝塔面板安装了,Flexus云服务器X部署宝塔面板,能够极大地简化服务器的配置和管理过程,提高运维效率,能够让不熟悉Linux的开发中也能够顺利完成项目部署。接下来就,详细介绍Flexus云服务器X部署宝塔面板。

2.1 安装宝塔面板

在上述登录的终端中,执行以下命令下载并安装宝塔面板。

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

当提示是否将磁盘挂载到/www时,进行二次确认,输入y进行确认。

3f4b5418f1da44f6a19f8d91a3e6059d.png

等待Flexus X实例下载安装,最终提示Congratulations! Installed successfully!,说明安装完成了。

3a02f0a67c2d4fe6963b53dd3e9eea85.png

2.2 开放宝塔面板端口

由于本次安装宝塔外部端口是18226,所以需要在Flexus云服务器X实例的安全组中放通宝塔面板的端口号,确保外部可以正常访问宝塔面板。

cb31b6b8a9404209aa44a670e1503e46.png

2.3 登录宝塔面板

复制上述安装完成以提示里宝塔面板的外网地址,在浏览器中打开,并且输入安装过程中提供的用户名和密码进行登录即可。

bdbc479c692c4c33a18c27784bb2a134.png

三、华为云Flexus X实例部署Redis

在已经完成宝塔面板安装的基础上,接下来就是在华为云Flexus X实例快速安装Redis。

3.1 宝塔面板安装Redis

宝塔面板软件商店菜单,直接搜Redis,在操作栏点击安装即可,安装成功如图所示:

点击右边立即安装按钮,等待华为云Flexus X进行Redis安装

安装完成之后,也可以在数据库-Redis中查看到已安装完成的Redis,同时也是可以直接在宝塔面板添加相关key,操作也是十分方便。

进入在Flexus X实例终端查看redis,使用redis-cli进入镜像登录,实现set基础操作。

3.2 Redis密码设置及第三方登录

初次安装的Redis是没有密码的,所以我们需要设置密码,并且不允许第三方直接登录。这个配置过程非常简单,无需通过服务器命令修改,只需在宝塔面板进行操作即可。

在软件商店Redis点击设置,修改端口为0.0.0.0,以及密码为自己想要的,比如123456。接下来还有个重要的一步,点击配置文件,修改配置文件中的登录密码。

上述修改完配置之后,需要重新加载最新配置,才会生效。

后续如果想要修改Redis的其他配置,直接可以在这里点击配置文件进行修改,无需进入服务器。

3.3 开放Redis端口

在实际开发中,项目需要远程连接到Redis,所以需要开发对应的外部端口,Redis默认端口是6379,在Flexus X实例添加安全组,如图所示。

同时,在宝塔面板也是需要配置防火墙,在左边安全菜单针对6379端口新增规则。

完成以上步骤后,第三方就可以使用修改后的密码重新登录Redis了。

四、基于Flexus X实例实践Redis案例

接下来,我们以微信发红包及抢红包案例为例,来分析演示如何在Flexus X实例上操作Redis。

首先,在Spring Boot的配置文件中添加Redis连接配置:

spring:application:name: activity-serviceredis:port: 6379  #redis 端口号  无密码host: Flexus X IPpassword: 123456database: 0

4.1 发红包

发红包的主要逻辑是将红包总金额拆分为多个子红包,并保存到Redis的list结构中,同时设置过期时间。具体接口代码如下:

 @RequestMapping(value = "/send")public String sendRedPackage(int totalMoney, int redPackageNumber){//1 拆红包,将红包总金额totalMoney拆分为redPackageNumber个子红包Integer[] splitRedPackages = splitRedPackageAlgorithm(totalMoney,redPackageNumber);// 2 发红包保存到list结构里面,并且设置过期时间String key = RED_PACKAGE_KRY + IdUtil.simpleUUID();redisTemplate.opsForList().leftPushAll(key,splitRedPackages);redisTemplate.expire(key,1, TimeUnit.DAYS);// 3 发红包成功,返回前台显示return key+"\t" + Ints.asList(Arrays.stream(splitRedPackages).mapToInt(Integer::valueOf).toArray());}

启动服务,调用接口,模拟发红包,比如100元发10个红包

http://localhost:9901/red-package/send?totalMoney=100&redPackageNumber=10

在Flexus X 实例查看 Redis存储情况,可以看到10个数据。

4.2 抢红包

抢红包的逻辑是先验证用户是否已经抢过红包,如果没有,则从列表中取出一个红包并记录领取信息,使用hash结构记录红包领取记录,详细代码如下:

    /*** 用户抢红包* @param redPackageKey 红包* @param userId 用户id* @return*/@RequestMapping(value = "/rob")public String robRedPackage(String redPackageKey,String userId){// 1.验证某个用户是否抢过红包,查询redis记录Object redPackage = redisTemplate.opsForHash().get(RED_PACKAGE_CONSUME_KRY + redPackageKey, userId);// 2. 用户没有抢过红包if (null == redPackage){// 3. 用户抢红包,直接获取列表中的其中一个红包Object partRedPackage = redisTemplate.opsForList().leftPop(RED_PACKAGE_KRY + redPackageKey);if (partRedPackage != null){// 4.保存红包领取记录,使用hash结构记录红包领取记录redisTemplate.opsForHash().put(RED_PACKAGE_CONSUME_KRY+redPackageKey,userId,partRedPackage);System.out.println("用户"+userId+"\t 抢到红包了 " + partRedPackage);return String.valueOf(partRedPackage);}return "errorCode : -1 ,红包抢完了";}return "errorCode : -2 ,"+userId+" 你已经抢过红包了";}

调用抢红包接口

http://localhost:9901/red-package/rob?redPackageKey=8dd42389e5614c37bc0d2a27f48710ab&userId=123456789

在Flexus X 实例查看 Redis存储情况,可以看到剩下9个红包。

接口日志打印也能看到用户123456789抢到了红包,金额是7。

总结

        本文介绍了华为云Flexus X实例结合宝塔可视化面板快速、便捷地安装非关系型数据库Redis,并通过微信发红包及抢红包案例实践展示了如何操作Redis。文章首先概述了华为云Flexus X实例的购买和登录流程,然后详细介绍了宝塔面板的安装和配置,接着讲解了如何在Flexus X实例上部署Redis,包括密码设置和端口开放。最后,通过实战案例展示了Flexus X实例上Redis的应用。对于初学者来说,华为云Flexus X实例也是十分容易上手的,从购买到使用基本都可以通过可视化操作完成,让初学者不再畏惧Linux命令。

这篇关于华为云征文|基于华为云Flexus X实例部署Redis及案例实践详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132019

相关文章

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建