1.Redis持久化的方式
1.1 RDB:以快照的方式进行持久化。在一定的时间间隔内进行快照,把数据进行保存到磁盘。
触发RDB,默认文件dump.rdb
(1)save命令(同步,会造成阻塞)
(2)bgsave命令(异步,能同时响应客户端的请求)
(3)配置Redis配置文件
(4)回复数据
可以把dump.rdb放入到redis启动目录下。 当redis再次被启动时则会加载该数据。
(5)RDB持久化方式的优缺点
优点:
(1)RDB文件紧凑,全量备份,非常适合用于进行备份和灾难恢复。
(2)bgsave生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。
(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
缺点:
快照持久化期间修改的数据不会被保存,可能丢失数据。数据完整性比较差。
1.2AOF持久化
提供一种更加高效的方式AOF,工作机制很简单,redis会将每一个收到的写命令都通过write函数追加到文件中。通俗的理解就是日志记录。
Redis配置中进行配置(默认不开启):
AOF的优缺点:
优点:
(1)AOF可以更好的保护数据不丢失,一般AOF会每隔1秒,通过一个后台线程执行一次fsync操作,最多丢失1秒钟的数据。
(2)AOF日志文件没有任何磁盘寻址的开销,写入性能非常高,文件不容易破损。
(3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。
缺点:
(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大.
(2) 恢复数据时时间要比快照模式慢很多。
2Redis集群
2.1Redis主从关系
搭建主从关系
1. 准备三台机器 (1 主节点 2 从节点) 为了节省资源 在一个虚拟机上启动三台redis 只是他们的端口号不同,
2.配从不配主
(1)配置redis配置文件 6380(主) 6381(从) 6382(从)
(2)修改rdb持久化文件的路径以及端口
主节点可以负责读写操作,从节点只能负责读操作,当主节点宕机时,从节点不能上位只能等待主节点。