本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Redis
  • Redis教程(五)Redis数据持久化配置教程

Redis教程(五)Redis数据持久化配置教程

发布:TangLu2019-10-15 10:44分类: Redis 标签: redis nosql

Redis相比Memcache有个最显著的区别就是前者支持数据持久化,可以将数据写入到硬盘中,而不仅仅是只能存放于内存,重启服务后数据就没了。Redis的持久化分为了rdb快照持久化和aof日志持久化两种方式,这两种方式一般会同时工作。但是建议在从库上执行数据的持久化,减少对主库性能的影响。RDB快照持久化会每隔一段时间或者操作次数达到一定量后,从内存Dump数据形成rdb文件,压缩后存放于特定目录实现数据持久化保存,缺点是有可能导致一部分数据遗失。 AOF日志持久化则可以实现将每次的操作都持久化,数据最为安全,但是影响效率,通常结合rdb一起使用。 


一、手动保存Redis数据

在配置RDB和AOF前还需要了解下手动保存Redis数据的方式——save和bgsave,在生产环境中建议使用bgsave进行保存数据,因为它不会阻塞客户端的请求,而是新生成一个进程进行数据保存工作,由于新进程的存在,在保存数据的时候内存的消耗也会加大。

bgsave.png


二、RDB持久化配置方法

编辑redis.conf配置文件,主要修改以下内容:

save 900 1  #在900秒内,key值发生变化次数超过1次则进行持久化,生产环境通常默认这个值即可 
save 300 10  #在300秒内,key值发生变化次数超过10次则进行持久化,生产环境通常默认这个值即可 
save 60 10000  #在60秒内,key值发生变化次数超过10000次则进行持久化,生产环境通常默认这个值即可  
stop-write-on-bgsave-error yes  #rdb文件在导出过程中出错了的话,Redis将停止写入数据,避免数据不一致 
rdbcompression yes  #压缩数据 
rdbchecksum yes  #检查rdb文件的完整性
dbfilename dump.rdb  #rdb文件名
dir /var/lib/redis/ #rdb文件保存路径


当设置完后重启Redis服务,然后在工作中只要达到了save条件,key就会被保存。并且日志中也会有“xx changes in xx seconds. Saving”这样的记录。如果要关闭rdb功能的话将save选项改为save "",引号里为空即可


三、AOF持久化配置方法

编辑配置文件,修改以下内容:

appendonly yes  #打开aof功能
#appendfsync  no  #让系统自己决定什么时候进行持久化
#appendfsync always  #每次有命令发生都写入到磁盘
appendfsync  everysec  #每秒写一次数据到磁盘,比如折中的办法,推荐
no-appendfsync-on-rewrite  yes  #如果正在导出rdb数据,停止aof的写入(aof将保存在一个队列中,rdb备份完成后执行队列,不会丢失数据)
auto-aof-rewrite-percentage 100  #aof文件体积与上次相比增长率达到100%就进行重写(重写相当于记总账,比如对同一个key做了100次操作,我们只需要最后一次的操作,重写就会把多余的操作给忽略掉)
auto-aof-rewrite-min-size 64m  #和上一项组合使用,aof文件达到64M时进行重写(重写会节省掉空间,因为多余的操作被删除了)
appendfilename  "appendonly.aof"  #aof文件名
dir /data/redis6379

注意:

1、持久化不能取代备份,最好周期性的进行备份,过程如下

bgsave  #在Redis客户端执行该命令后会在Redis所在目录创建dump.rdb文件,将该文件保存好,需要恢复数据的时候将dump.rdb移动到Redis所在目录后启动服务


2、当Redis服务启动进行数据恢复时,如果rdb和aof文件都存在,会优先使用aof文件来恢复数据(因为aof即时性高于rdb),所以如果rdb有数据时,再开启aof选项会把已经存储过的数据清空


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《Redis教程(五)Redis数据持久化配置教程
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-319.html  [生成短网址]

已有 0/1568 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~