Redis 持久化存储
Redis 持久化存储包括两种方式: AOF 和 RDB 。 AOF 的全称是 Append of file , RDB 则是 Redis Database 。 RDB 是 Redis 某一时刻的快照, Redis 会单独 fork 一个线程来处理。相比较 AOF 的方式, RDB 生成的文件体积会更小。因为 AOF 纪录的是操作日志,类似于 MySQL 的 binlog 。正因为 AOF 是操作日志, Redis 为了避免它膨胀的厉害,会进行定期压缩。压缩的实质就是:将对一个 Key 的多条操作日志,压缩成一条。 在刷新内存或者同步数据的时候,我们都会采用一些策略。下面试着列举一下: 间隔固定的时间进行同步,比如每间隔3s执行一次同步操作; 根据数据的变更情况来执行同步。比如,当内存中达到30条记录的时候,执行一次同步操作,或者,距离最近一次同步时间超过阀值的时候,强制同步一次。 Redis 也有自己的同步策略,但万变不离其宗。当然, RDB 的策略没啥可以说的,它可以理解为一个数据备份。因为 AOF 有这样的策略存在,在执行这些策略的过程中,线程可能会被阻塞,合理的评估也异常重要。 这两个策略本质上是互补的,并没有优略之分。 来源: oschina 链接: https://my.oschina.net/u/3017278/blog/3223439