《Redis内存数据库》Redis持久化实现方式和原理

前言

redis 的一大特点就是持久化。

原理

RDB 持久化 :根据快照实现

优点:速度快,适合备份,主从复制也是基于此。新快照会覆盖上一次快照。

缺点:因为是快照,所以会存在数据丢失。

AOF 持久化:记录全部操作实现

优点:能够最大程度的保证数据不丢。

缺点:日志量大。

参数说明:

RDB 持久化  需要用到的参数为:

dir /home/redis/data          -- 文件路径
dbfilename dump.rdb         -- 文件名

登录Redis 执行命令:

save         -- 保存当前数据快照

或者

redis-cli -a 123456 save     -- 直接执行

设置自动持久化

save 900 1            --  900秒有一个变化,保存一次快照
save 300 10          --  300秒有十个变化,保存一次快照
save 60 10000       --  60秒有万个变化,保存一次快照

AOF 持久化  需要用到的参数为:

appendonly no               -- 是否开启AOF持久化 yes 表示开启
appendfsync everysec     --always : 每次操作都记录日志, everysec: 表示每秒执行一次记录日志。no:表示由系统自行刷新。
appendfilename "appendonly.aof" -- AOF持久化日志的文件名

就可以正常看到持久化数据文件了。

这个数据文件在Redis重启之后,可以重新加载回Redis缓存。

额外说明:

SAVE: 前台,阻塞线程,影响redis正常写入。

BGSAVE:后台,开启子线程执行。

总结

RDB 持久化 :根据快照实现

优点:速度快,适合备份,主从复制也是基于此。新快照会覆盖上一次快照。

缺点:因为是快照,所以会存在数据丢失。

AOF 持久化:记录全部操作实现

优点:能够最大程度的保证数据不丢。

缺点:日志量大。

posted @ 2020-10-02 20:01  加速丨世界  阅读(323)  评论(0编辑  收藏  举报