1.持久化:把内存中的数据库保存到磁盘上。防止数据的丢失。
2.持久化方式
redis支持的持久化方式两种:
(1)RDB:快照 其实就是把数据以快照的形式保存在磁盘上,什么是快照呢?可以理解成把当前时刻的数据拍成一张照片保存下来。
rdb优点:
(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。
(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。
(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
rdb缺点:
快照持久化期间修改的数据不会被保存,可能丢失数据。数据完整性比较差。
(2)AOF:日志追加 记录服务器接受的每个写入操作,当服务器启动时再次加载该日志,会把日志中的命令重新执行一遍
aof优点:
(1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行一次fsync操作,最多丢失1秒钟的数据。
(2)AOF日志文件没有任何磁盘寻址的开销,写入性能非常高,文件不容易破损。
(3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写
aof缺点:
(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
(2) 恢复数据时时间要比快照模式慢很多。
3.RDB快照持久化方式
3.1 如何触发RDB持久化
1.手动save命令
2.手动bgsave命令
3.通过配置自动触发(多少秒内有多少次改变 则触发bgsave)
在redis的解压目录下找到 redis.conf 然后直接vi redis.conf
测试:
4.恢复数据
3.2AOF触发模式
进入配置文件发 修改配置文件
开始测试:
测试:
4.redis集群搭建
4.1主从关系
准备工作:1.创建了一个目录 master-slave
- 把redis配置文件复制到master-slave(redis.conf1、redis.conf2、redis.conf3)
3.分别修改上面三个文件的端口号以及rdb持久化文件的名称 并aof关闭(关闭防火墙 三个)
4. 启动redis时指定上面的三个配置文件
测试:
从节点只能负责读操作。不能写操作