redis持久化之rdb


持久化:redis是将数据存储在内存中的,持久化是将数据断电后存储在硬盘中,redis的rdb持久化是将数据存储到一个以rdb结尾的文件中
一些其它数据库的持久化处理:
mysql:mysql数据库是通知操作时生成操作日志,然后通过日志来恢复数据
memcached:可以通过主从复制来是现在持久化

redis实现rdb持久化一句话理解:每隔N分钟写入了N个key,redis会从内存中拿到数据生成rdb文件(数据集的快照),然后压缩放到备份的文件目录下。最后服务器再次启动时
通过重新执行这些命令来还原数据集。
redis之rdb的持久化操作步骤:主要是修改redis.conf配置文件
1.save设置
save 900 1 ​ 如果900秒后至少写入一个key才会写入到rdb文件
save 300 10 如果300秒后至少写入10个key才会写入到rdb文件
save 60 10000 如果60秒后至少写入10000个key才会写入到rdb文件
2.stop-writes-on-bgsave-error yes
后台存储错误停止写
3.rdbcompression yes
使用lzf压缩rdb文件
4.rdbchecksum yes
存储和加载rdb文件是校验
5.dbfilename dump.rdb
设置rdb文件的名称
6.dir ./
设置rdb文件生成的目录

rdb的优点:rdb持久化可以生成非常紧凑方便保存的文件,可以随时快速的恢复数据,非常适合灾难恢复。
​rdb缺点:虽然rdb持久化可以很好的保存数据集,但是设置的时间段有可能会与服务器宕机的时间点冲突了,导致数据会有一部分丢失不完整。

原文地址:https://www.cnblogs.com/lisqiong/p/5550817.html