华为云征文|基于华为云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

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、