Redis入门 | 持久化策略
发布日期:2022-02-21 17:40:24 浏览次数:26 分类:技术文章

本文共 1132 字,大约阅读时间需要 3 分钟。

Redis入门 | 持久化策略

0. 需求

Redis中将数据都保存到了内存中,但是内存的特点断电及擦除. 为了保证redis中的缓存数据不丢失,则需要将内存数据定期进行持久化操作.

持久化: 将内存数据,写到磁盘中.

1. RDB

特点:

  1. RDB模式是Redis默认的持久化规则.
  2. RDB模式记录的是Redis内存数据快照(只保留最新数据)
  3. RDB模式定期持久化(时间可调) 可能会导致数据丢失.
  4. RDB模式备份效率是最高的.
  5. RDB模式备份是阻塞式的 在备份时不允许其他用户操作. 保证数据安全性

备份命令:

  1. 主动备份 :save 会阻塞用户操作
  2. 后台备份 :bgsave 异步的方式进行持久化操作 不会阻塞.

1.1 关于持久化配置

  1. save 900 1 : 900秒内,用户执行了一次更新操作时,那么就持久化一次
  2. save 300 10 :300秒内,用户执行了10次更新操作. 那么就持久化一次
  3. save 60 10000 :60秒内,用户执行了10000次的更新操作,则持久化一次.
  4. save 1 1 : 1秒内 1次更新 持久化一次!! 性能特别低.

在这里插入图片描述

1.2 关于持久化文件名称设定

默认的条件下,持久化文件名称 dump.rdb

在这里插入图片描述

1.3 文件存储目录

./ 代表当前文件目录. 意义使用绝对路径的写法.

在这里插入图片描述


2.AOF

特点 :

  1. AOF模式默认的条件下是关闭状态.需要手动开启.
  2. AOF模式记录的是用户的操作过程. 可以实现实时持久化.保证数据不丢失.
  3. AOF模式维护的持久化文件占用的空间较大.所以持久化效率不高. 并且需要定期的维护持久化文件.
  4. AOF模式一旦开启,则redis以AOF模式为主 读取的是AOF文件.

2.1 AOF配置

  1. 开启AOF模式

    在这里插入图片描述

  2. 持久化策略

    always : 用户更新一次,则持久化一次.
    everysec : 每秒持久化一次 效率更高
    no : 不主动持久化. 操作系统有关. 几乎不用.
    在这里插入图片描述

3. FlushAll的补救方式

转自刘老师的生动幽默的授课文案

业务场景:

小丽是一个特别漂亮的实习生.你是他的项目主管. 由于小丽业务不熟,在生产环境中无意执行了flushAll操作. 问如何补救??


场景1: redis中的服务只开启了默认的持久策略 RDB模式.

解决方案:

  1. 关闭现有的redis服务器.
  2. 检查RDB文件是否被覆盖. 如果文件没有覆盖.则重启redis即可.(希望渺茫)
  3. 如果flushAll命令,同时执行了save操作,则RDB模式无效.

场景2: redis中的服务开启了AOF模式.

解决方案:

  1. 关闭redis服务器.
  2. 编辑redis 持久化文件 将flushAll命令删除.
  3. 重启redis服务器

转载地址:https://blog.csdn.net/weixin_40597409/article/details/115495773 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Redis入门 | 缓存穿透、击穿、雪崩
下一篇:(多)线程应用 | 如何新建线程?

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月01日 15时23分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章