标签:AOF 持久 redis Redis RDB 快照 化机制
redis持久化机制RDB和AOF的概念及使用
如果想redis仅作为纯内存的缓存来用,可禁止RDB和AOF所有的持久化机制
1. Redis持久化的作用:
Redis 是内存数据库,其将自己的数据存储在内存中,如果 Redis 发生宕机,且没有进行持久化的,那么Redis 重启后将没有之前的数据。而通过持久化,Redis可以在重启后,快速找回之前的数据,防止大量请求打入数据库。
对于企业级的redis架构来说,持久化是不可减少的
企业级redis集群架构:海量数据、高并发、高可用
2. Redis持久化的重要性-缓存雪崩
如Redis不可用了,要做的事是让Redis尽快变得可用,重启Redis,尽快让它对外提供服务,如果没做数据备份,这时Redis启动了也不可用,因为数据都没了。
有可能大量的请求过来,缓存全部无法命中,在Redis里找不到数据,这时缓存雪崩问题,所有请求,没有在redis命中,就会去mysql数据库这种数据源头中去找,一下子mysql承接高并发,然后就挂了。mysql挂掉,数据也就无法恢复到Redis里面去。Redis的数据从mysql来。。。
如果把Redis的持久化做好,备份和恢复方案做到企业级的程度,即使Redis故障了,也可通过备份数据,快速恢复,一旦恢复立即对外提供服务。
3. 持久化的方式:
快照(先把数据拷贝出来,做个备份):Mysql Dump 和 Redis RDB
日志(某时某点的日志记录):MySQLBinlog和Hbase HLog和Redis AOF
注:
如果同时用RDB和AOF两种持久化机制,在redis重启时,会用AOF来重新构建数据,因AOF中的数据更加完整
3.1 RDB快照持久化方式
如何触发RDB持久化
- 手动save命令(同步)
save
- 手动bgsave命令(异步)
bgsave
- 通过配置自动触发。(自动)
RDB默认开启 在redis安装文件目录下使用如下命令关闭RDB
config set save ""
修改生成RDB的文件名
设置自动保存的间隔
每隔60s,如果超过1000个key发生了变更,就生成一个新的dump.rdb文件,当前redis内存中完整的数据快照,这个操作也被称之为snapshotting,快照
save和bgsave区别
save
- 该命令会阻塞当前redis服务器,执行save命令期间,redis不能处理其他命令,直到RDB过程完成为止。具体流程如下:
bgsave
- 执行该命令时,redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。具体流程如下:
两者总结
明天更新后续
标签:AOF,持久,redis,Redis,RDB,快照,化机制 来源: https://blog.csdn.net/w1939481704/article/details/115679397
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。