Redis持久化方式及集群搭建

1.List 队列类型

lpush: 将一个或多个值 value 插入到列表 key 的表头.
lpop: 移除并返回列表 key 的头元素。
lrange: 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。

2. set集合

sadd key value…: 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。

spop key: 移除并返回集合中的一个随机元素。

smove source destint member:

smembers key:获取指定key下的所有的元素

sinter key key …:求所有集合的交集。

3.sortSet 有序集合。

应用场景: 排行耪

1.zadd key score value score value …:添加有序集合元素。
2.zrange key start end: 获取指定返回的元素。

4. Redis的持久化方式。

持久化:把内存中的数据库保存到磁盘上。防止数据的丢失。
redis支持的持久化方式两种:
(1)RDB:快照 其实就是把数据以快照的形式保存在磁盘上,什么是快照呢,你可以理解成把当前时刻的数据拍成一张照片保存下来。
(2)AOF:日志追加 记录服务器接受的每个写入操作,当服务器启动时再次加载该日志,会把日志中的命令重新执行一遍。

5. RDB快照持久化方式

5.1 如何触发RDB持久化

  1. 手动save命令
  2. 手动bgsave命令
  3. 通过配置自动触发。
    5.1.1 save和bgsave区别
    该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止。具体流程如下:
    在这里插入图片描述
    执行完成时候如果存在老的RDB文件,就把新的替代掉旧的。我们的客户端可能都是几万或者是几十万,这种方式显然不可取。

执行该命令时,Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体流程如下:
在这里插入图片描述
自动触发:
在这里插入图片描述

5.2 保存在磁盘上后,该文件的名字叫什么?

在这里插入图片描述

5.3 恢复数据

只需要把dump.rdb文件放入redis的安装目录即可,redis再次启动时回加载安装目录下的dump.rdb文件。

5.4 rdb的优缺点

优点:
(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。
(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。
(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。

缺点:
快照持久化期间修改的数据不会被保存,可能丢失数据。数据完整性比较差。

5.5 AOF 默认该模式是关闭的。

提供一种更加高效的方式AOF,工作机制很简单,redis会将每一个收到的写命令都通过write函数追加到文件中。通俗的理解就是日志记录。
在这里插入图片描述
aof的触发模式

在这里插入图片描述
在这里插入图片描述
优缺点:

优点:
(1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行一次fsync操作,最多丢失1秒钟的数据。
(2)AOF日志文件没有任何磁盘寻址的开销,写入性能非常高,文件不容易破损。
(3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。

缺点:

(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
(2) 恢复数据时时间要比快照模式慢很多。

6. redis集群搭建

6.1 主从关系
在这里插入图片描述
配从不配主
准备工作:
1. 创建了一个目录 master-slave
2. 把redis配置文件复制到master-slave
redis7001.conf redis7002.conf redis7003.conf

3.分别修改上面三个文件的端口号以及rdb持久化文件的名称 并aof关闭。
4. 启动redis时指定上面的三个配置文件
在这里插入图片描述
查看三个redis节点的信息
在这里插入图片描述
我们在7002和7003使用slaveof 127.0.0.1 7001 把7002和7003挂载7001上
在这里插入图片描述
验证:

主节点负责写,并把写的内容同步到从节点上。 从节点只能负责读操作。不能写操作。

思考:

主节点挂掉,从主节点是上位还是等待主节点的归来。

如果这时,有一个新得节点加入到主从上了,新节点是否可以把之前得数据获取。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值