小白到运维工程师自学之路 第三十四集 (redis的基本使用)

一、概念

        Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。Redis的特点是数据存储在内存中,因此读写速度非常快,同时也支持数据持久化到磁盘上,以保证数据的安全性。Redis还提供了丰富的命令和API,可以方便地进行数据操作和管理。由于其高性能、可扩展性和灵活性,Redis被广泛应用于Web应用程序、分布式系统、实时数据处理等领域。

二、工作原理

1. 客户端向Redis发送请求,请求可以是读取、写入、删除等操作。

2. Redis接收到请求后,根据请求类型和键值对的信息,进行相应的操作。

3. 如果请求需要修改数据,Redis会将修改操作记录在内存中的数据结构中,同时异步地将修改操作写入磁盘中的日志文件中,以保证数据的持久性。

4. 如果请求需要读取数据,Redis会先在内存中查找数据,如果找到则直接返回给客户端,如果没有找到则从磁盘中的数据文件中读取数据,并将数据加载到内存中,以便下次更快地访问。

5. Redis还支持一些高级功能,如发布/订阅、事务、Lua脚本等,这些功能都是基于Redis内置的命令实现的。

三、基本配置

1、安装

使用yum安装

yum -y install redis

2、配置文件

/etc/redis.conf   主配置文件路径

寻找并取消注释掉 requirepass 这一行。

 requirepass 行后面,输入您想要设置的密码

它表示 Redis 不会将写操作追加到磁盘上的日志文件中

在生产环境中需要将这条配置项修改为YES

将bind 127.0.0.1(本地回环地址)修改为0.0.0.0(表示所有人都可以登录)

 

 

3、登录redis

systemctl start redis                   启动redis服务
redis-cli -h 主机名或IP -p 端口 -a 密码   远程登录命令
redis-cli   redis                       本地登录命令

 登录redis服务后需要输入AUTH 密码  验证身份

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第1张图片

4、常用命令

SET 命令用于将指定的 Key 设定为对应的 Value 值。
GET 命令用于获取指定 Key 的 Value 值。

 小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第2张图片

EXISTS 如果键存在,则返回 1,否则返回 0。
DEL 命令用于删除指定的 Key 及其对应的 Value 值。

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第3张图片

KEYS 命令用于查找符合指定 pattern 的所有 Key

 小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第4张图片

INCR 用于将指定的key中存储的整数值加1,如果key不存在,则会先将其设置为0再执行加1操作。
DECR 用于将指定的key中存储的整数值减1,如果key不存在,则会先将其设置为0再执行减1操作。

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第5张图片

EXPIRE  命令用于设置指定 Key 的过期时间
TTL     命令用于获取指定 Key 的剩余过期时间

设置名为syh的键 60秒后自动删除

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第6张图片

HASH 命令用于在指定 Key 中设置多个字段的值,也可用于获取指定 Key 中所有字段及其值。

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第7张图片

LIST 命令用于在指定 Key 的列表中插入、获取、删除值。
lpush syh "test 3"
将值为 "syh 3" 的元素插入到名为 "syh" 的列表的左侧,并将其设置为列表的第一个元素。
lpush syh "test 2"
将值为 "syh 2" 的元素插入到名为 "syh" 的列表的左侧,并将其设置为列表的第二个元素。
lpush syh "test 1"
将值为 "syh 1" 的元素插入到名为 "syh" 的列表的左侧,并将其设置为列表的第三个元素。
lrange syh 0 -1
获取名为 "syh" 的列表中所有元素,从第一个元素到最后一个元素
lpop syh 
从名为 "tasks" 的列表的左侧弹出第一个元素,并返回该元素的值,即 "syh1"

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第8张图片

 可以看到test1的元素已经没有了

四、redis持久化配置

1、RDB持久化配置

        将 Redis 在内存中的数据定期 dump 到硬盘上的一个快照文件,用于进行备份和恢复。其优点是安全,可靠且性能高,缺点是在最近一次 RDB 文件被 dump 之后的数据丢失风险较高。

在多长时间后,如果有多少个键发生更改,Redis 执行写操作
save 900 1              每900秒同步一次数据到磁盘中
save 300 10             每300秒同步十次数据到磁盘中
save 60 10000           每60秒同步一万次数据到磁盘中

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第9张图片

dbfilename dump.rdb  这个是存储持久化数据的文件名
dir /var/lib/redis   这个是持久化数据文件的路径

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第10张图片

2、AOF持久化配置

        Redis 的 AOF 持久化是指将 Redis 服务器执行的每个写入操作都记录在追加日志文件中,这样可以确保即使服务器发生故障,也能够保证最新的数据不会丢失。Redis AOF 持久化有以下两种方式:

always:每次发生写入操作时都会执行同步,会影响服务器的写入性能,但数据保护程度较高。

everysec:每秒执行一次同步操作,折中选项,既保证了写入性能又保障了数据安全。

修改配置文件

appendonly yes            开启AOF持久化功能
appendonly.aof            设置AOF日志文件的名称
dir /path/to/appendonly/  设置AOF日志的存放目录
appendfsync everysec      设定数据同步方式,always 表示每次操作都同步,everysec 表示每秒同步一次

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第11张图片

小白到运维工程师自学之路 第三十四集 (redis的基本使用)_第12张图片 

 

退出重启服务后就可以实现持久化配置了

以上就是redis的基本使用方法和持久化配置

如有错误欢迎各位大佬批评指正,我们共同进步

你可能感兴趣的:(redis,运维,数据库)