当前位置: 首页 > news >正文

华为云之Redis部署及基础语法

一、本次实践介绍

1.1 实践环境简介

1.本次实践环境使用华为KooLabs云实验平台。
2.本次实践基于华为云ECS弹性云服务器。
3.本次使用操作系统为CentOS系统。

1.2 本次实践目的

1.熟练使用华为云ECS弹性云服务器;
2.熟练使用Linux的基本命令;
3.熟悉掌握redis的基本单机安装;
4.熟悉掌握redis的基本命令使用。

1.3 华为云ECS云服务器介绍

弹性云服务器(Elastic Cloud Server, ECS)是一种云上可随时自助获取、可弹性伸缩的计算服务,可帮助您打造安全、可靠、灵活、高效的应用环境。

image.png

二、Redis介绍

2.1 Redis简介

Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件

2.2Redis特点

以下是Redis数据库的介绍和特点:

  • 内存存储:Redis将数据存储在内存中,这使得它能够提供非常快速的读写操作。与传统的磁盘存储数据库相比,Redis的数据访问速度更快。

  • 数据结构多样:Redis支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。这些数据结构的灵活性使得Redis可以满足不同的应用场景。

  • 持久化:Redis支持数据持久化,可以将内存中的数据定期写入磁盘,以防止数据丢失。它提供了两种持久化方式:RDB(快照)和AOF(日志追加)。

  • 高可用性与扩展性:Redis支持主从复制和分片,可以实现高可用性和水平扩展。主从复制可以将数据从一个节点复制到多个从节点,提高读取性能和容错能力。分片可以将数据分布到多个节点上,实现横向扩展。

  • 发布/订阅模式:Redis支持发布/订阅模式,可以实现消息发布和订阅功能。这使得Redis可以用作消息中间件,在分布式系统中进行消息传递和事件通知。

  • 丰富的功能:除了基本的数据存储和读写操作,Redis还提供了丰富的功能,例如事务、管道、Lua脚本、定时器等。这些功能使得Redis能够处理复杂的应用场景。

三、环境准备工作

3.1 预置实验环境

1.开始实验之前请点击手册上方“预置实验环境”按钮。
2.预置实验环境约等待【2分钟】后预置成功。环境预置成功会创建好对应VPC,安全组和子网,并生成名称为ecs-redis的弹性云服务器ECS。

在这里插入图片描述

3.2 查看预置环境信息

预置的 ECS 资源用户、密码信息可点击预置环境信息查看。

在这里插入图片描述

四、访问ECS云服务器

4.1 登录华为云

进入【实验操作桌面】,打开Chrome浏览器,首次可自动登录并进入华为云控制台页面。

在这里插入图片描述
在这里插入图片描述

4.2 查看云服务器状态

进入ECS云服务器管理页面,查看云服务器状态。

在这里插入图片描述

4.3 远程连接云服务器

打开桌面浏览器,进入ECS控制台,复制ECS的弹性公网IP:

在这里插入图片描述

双击打开实验室桌面XFCE终端,输入命令连接ECS服务器

ssh root@EIP

在这里插入图片描述

4.4 查看云服务器操作系统版本

查看云服务器操作系统版本

[root@ecs-redis ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

五、安装并启动Redis

5.1 安装相关软件包

安装相关软件包

yum -y install gcc

5.2 下载redis包

下载redis包

wget https://repo.huaweicloud.com/redis/redis-4.0.8.tar.gz

在这里插入图片描述

5.3 解压并进入redis目录

解压并进入redis目录

tar -zxf redis-4.0.8.tar.gz
cd redis-4.0.8/   && ls

在这里插入图片描述

5.4 源码编译安装

源码编译安装

make && make install

在这里插入图片描述

5.5 进入utlis目录初始化redis

进入utlis目录初始化redis

cd utils/
./install_server.sh

输完以上命令会出现输入,过程直接默认回车即可。安装完成后 如下图
在这里插入图片描述

5.6 查看服务状态

查看服务状态

/etc/init.d/redis_6379 status

在这里插入图片描述

5.7 查看监听的端口

查看监听的端口

[root@ecs-redis utils]# netstat -antupl |grep :6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      11280/redis-server 

5.8 查看进程

查看进程

[root@ecs-redis utils]# ps  -C redis-serverPID TTY          TIME CMD
11280 ?        00:00:00 redis-server

5.9 停止服务

停止服务

/etc/init.d/redis_6379 stop

在这里插入图片描述

5.10 连接redis并进入redis

连接redis并进入redis

/etc/init.d/redis_6379 start
redis-cli

在这里插入图片描述

5.11 测试服务

使用ping命令测试链接状态,出现PONG说明服务正常

ping

在这里插入图片描述

六、Redis常用命令

6.1 常用命令用法

常用命令用法

在这里插入图片描述

6.2 熟悉命令set、mset、get、mget,具体操作如下

set name bob
mset age 19   sex boy
get name
mget age sex

在这里插入图片描述

6.3 熟悉命令keys、type、exists、del具体操作如下

keys *
keys  ???
keys a*
type age

注:使用set命令存储的变量都是字符类型

del age
exists age
exists sex

变量不存储返回值0,变量存在 返回值1

在这里插入图片描述

6.4 熟悉命令ttl 、 expire 、 move 、 flushdb 、flushall 、save、shutdown、select

keys *
ttl sex
127.0.0.1:6379> keys *
1) "sex"
2) "name"
127.0.0.1:6379> ttl sex
(integer) -1
127.0.0.1:6379> 

注:返回值-1 表示变量永不过期

expire sex 20
127.0.0.1:6379> expire sex 20
(integer) 1

注:设置变量过期时间为 20 秒

127.0.0.1:6379> ttl sex
(integer) -2

注:返回值-2 表示已经过期

127.0.0.1:6379> exists sex
(integer) 0

注:显示0表示变量已经不存在

把变量name移动到1号库里,在切换库查看里面的key

127.0.0.1:6379> move name 1
(integer) 1
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "name"
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> 

删除、保存、关闭指令练习

127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> save
OK
127.0.0.1:6379> shutdown
not connected> exit
[root@ecs-redis utils]# 

退出后查看进程会没有输出的结果

netstat -utnlp  | grep  redis-server

重新启动服务并查看进程信息

/etc/init.d/redis_6379  start

在这里插入图片描述

http://www.dtcms.com/a/328845.html

相关文章:

  • 遨游通讯推出两款三防平板,满足“危急特”场景定制化需求
  • 《AVL树的原理与C++实现:详解平衡二叉搜索树的高效构建与操作》
  • ACL 可以限制哪些流量?入方向和出方向怎么判断?
  • 高级IO(五种IO模型介绍)
  • wordpress不同页面调用不同keywords和description
  • STM32CubeMX + HAL 库:用FSMC接口与IS62WV51216芯片实现stm32外部SRAM扩展
  • csp知识基础——贪心算法
  • Java协程深度教程:从概念到Spring Boot实战
  • XCZU6CG-2FFVC900I Xilinx FPGA AMD ZynqUltraScale+ MPSoC
  • 【计算机网络】王道考研笔记整理(4)网络层
  • 【C++】哈希的应用:位图和布隆过滤器
  • VMD+皮尔逊+降噪+重构(送报告+PPT)Matlab程序
  • Java Record 类 — 简化不可变对象的写法
  • MATLAB 绘图速查笔记
  • 模式设计:策略模式及其应用场景
  • Vue3 中 <script setup> 场景下,需要手动导入和不需要手动导入的内容整理
  • HarmonyOS Navigation路由跳转的完整示例
  • 【Qt开发】常用控件(三) -> geometry
  • 重生之我在公司写前端 | “博灵语音通知终端” | 登录页面
  • Swift 实战:从数据流到不重叠区间的高效转换
  • 《书写范式》——代码如诗,诗娟代码(Python)(附精巧“九九表”生成代码)
  • 《Linux基础知识-2》
  • 【2025】Datawhale AI夏令营-多模态RAG-Task3笔记-解决方案进阶
  • HGDB的分区表实现SQL Server的分区视图
  • 邀您参与 “直通乌镇” Spring AI Alibaba 开源竞技挑战赛!
  • 2025 最应避免的摄影陷阱以及解决方案
  • 八月补丁星期二:微软修复 111 个漏洞
  • String里常用的方法
  • Vue项目生产环境性能优化实战指南
  • 服务器查看 GPU 占用情况的方法