Redis入门 | 持久化策略
发布日期:2022-02-21 17:40:24
浏览次数:26
分类:技术文章
本文共 1132 字,大约阅读时间需要 3 分钟。
Redis入门 | 持久化策略
0. 需求
Redis中将数据都保存到了内存中,但是内存的特点断电及擦除. 为了保证redis中的缓存数据不丢失,则需要将内存数据定期进行持久化操作.
持久化: 将内存数据,写到磁盘中.
1. RDB
特点:
- RDB模式是Redis默认的持久化规则.
- RDB模式记录的是Redis内存数据快照(只保留最新数据)
- RDB模式定期持久化(时间可调) 可能会导致数据丢失.
- RDB模式备份效率是最高的.
- RDB模式备份是阻塞式的 在备份时不允许其他用户操作. 保证数据安全性
备份命令:
- 主动备份 :
save
会阻塞用户操作 - 后台备份 :
bgsave
异步的方式进行持久化操作 不会阻塞.
1.1 关于持久化配置
save 900 1
: 900秒内,用户执行了一次更新操作时,那么就持久化一次save 300 10
:300秒内,用户执行了10次更新操作. 那么就持久化一次save 60 10000
:60秒内,用户执行了10000次的更新操作,则持久化一次.save 1 1
: 1秒内 1次更新 持久化一次!! 性能特别低.
1.2 关于持久化文件名称设定
默认的条件下,持久化文件名称 dump.rdb
1.3 文件存储目录
./
代表当前文件目录. 意义使用绝对路径的写法.
2.AOF
特点 :
- AOF模式默认的条件下是关闭状态.需要手动开启.
- AOF模式记录的是用户的操作过程. 可以实现实时持久化.保证数据不丢失.
- AOF模式维护的持久化文件占用的空间较大.所以持久化效率不高. 并且需要定期的维护持久化文件.
- AOF模式一旦开启,则redis以AOF模式为主 读取的是AOF文件.
2.1 AOF配置
-
开启AOF模式
-
持久化策略 :
always
: 用户更新一次,则持久化一次.everysec
: 每秒持久化一次 效率更高no
: 不主动持久化. 操作系统有关. 几乎不用.
3. FlushAll的补救方式
转自刘老师的生动幽默的授课文案
业务场景:
小丽是一个特别漂亮的实习生.你是他的项目主管. 由于小丽业务不熟,在生产环境中无意执行了flushAll操作. 问如何补救??场景1: redis中的服务只开启了默认的持久策略 RDB模式.
解决方案:
- 关闭现有的redis服务器.
- 检查RDB文件是否被覆盖. 如果文件没有覆盖.则重启redis即可.(希望渺茫)
- 如果flushAll命令,同时执行了save操作,则RDB模式无效.
场景2: redis中的服务开启了AOF模式.
解决方案:
- 关闭redis服务器.
- 编辑redis 持久化文件 将flushAll命令删除.
- 重启redis服务器
转载地址:https://blog.csdn.net/weixin_40597409/article/details/115495773 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月01日 15时23分55秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
300来行代码实现最小Linux文件系统
2019-04-27
爱大姚,恨男篮
2019-04-27
Linux 内核系统架构
2019-04-27
离职了
2019-04-27
CPU是如何访问到内存的?
2019-04-27
GIT非常好的整理
2021-06-30
一个小码农对嵌入式的理解
2021-06-30
滴滴是如何搭建起PB级数据中台的?
2021-06-30
我这几年呆的这几个公司
2021-06-30
为了生活
2019-04-27
小米19999
2019-04-27
小心内存对齐
2019-04-27
微软笔试题(看到的写答案啊)
2019-04-27
在实时操作系统里随便写代码都能硬实时吗?
2019-04-27
推荐一位AI技术人
2019-04-27
国庆节快乐
2019-04-27
在线就能用的Linux我给你找好了
2019-04-27
随想,对嵌入式职场建议
2019-04-27
用数组实现一个栈
2019-04-27
用链表实现一个栈
2019-04-27