一、redis持久化方式
1. rdb方式
rdb就是把内存里的数据以二进制写入文件。 其中序列化协议自己自定义的。因为采用二进制,恢复效率高,速度快。 但是一般是是每隔一段才rdb备份一次, 所以相对来说不安全。
2. atof方式
aof就是把变更的指令, 以文本方式追加写入日志。相比RDB的方式会相对较慢。但是相对安全。atof文件并且随着时间不断变大, 恢复时间也越来越长。
二、存储优化
不能阻塞 -- 子进程处理。处理需要一些时间, 在这段时间内的变化写入缓存里。 等子进程处理完再加进去。
减少指令 -- atof文件随着时间变得越来越大,恢复所需时间越来越长, 这时候需要重写减少冗余指令如set a 5, set a 3.只需要保留最终状态就好了。 当然这些是扫描内存来着, 扫描日志文件太慢了。
三、主从同步
每个节点负责对对自己的从同步, redis 策略是,无论如何,首先会尝试进行增量同步,如不成功,要求从机进行全量同步
增量同步 是指主存储写入一条指令, 并且会把该指令发给从服务器。
参考:https://www.cnblogs.com/hepingqingfeng/p/7263782.html