文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Redis 持久化详解

2015-08-16 00:50

关注

Redis 持久化详解

持久化

Redis 如同其他的存储组件一样,提供了两类持久化方式:快照,和全量追加日志。

file

RDB - 快照

在默认情况下, Redis 将数据库快照保存在名字为dump.rdb的二进制文件中。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。 你也可以通过调用 SAVE或者 BGSAVE , 手动让 Redis 进行数据集保存操作。 这种持久化方式被称为快照 snapshotting.

# 配置写入策略(针对bgsave):
save  900  1                      #(900秒内至少1个key被写)
save  300  10                   #(300秒内至少10个key被写)
save  60  10000              #(60秒内至少1000个key被写)
# 如果不需要RDB,可以设置:
save ""
# 设置 rdb 文件名称 和 存储目录
dbfilename     dump.rdb
dir   /var/lib/redis/6379

AOF - 只追加操作的文件(Append-only file,AOF)

快照功能并不是非常耐久(durable): 如果 Redis 因为某些原因而造成故障停机, 那么服务器将丢失最近写入、且仍未保存到快照中的那些数据。 从 1.1 版本开始, Redis 增加了一种完全耐久的持久化方式: AOF 持久化。

appendonly yes      #(开启AOF)
appendfilename    "appendonly.aof" 

每当 Redis 执行一个改变数据集的命令时(比如 SET), 这个命令就会被追加到 AOF 文件的末尾。 这样的话, 当 Redis 重新启时, 程序就可以通过重新执行 AOF 文件中的命令来达到重建数据集的目的。

fsync 同步刷盘策略

你可以配置 Redis 多久才将数据 fsync 到磁盘一次。有三种方式:

# fsync同步刷盘策略
# appendfsync always   #(立刻同步刷盘,最慢,也最安全)
appendfsync everysec   #(每秒才触发一次同步刷盘,推荐)
# appendfsync no        # (不采用同步刷盘,最快,相对不安全)
日志重写

因为 AOF 的运作方式是不断地将命令追加到文件的末尾, 所以随着写入命令的不断增加, AOF 文件的体积也会变得越来越大。 举个例子, 如果你对一个计数器调用了 100 次 INCR , 那么仅仅是为了保存这个计数器的当前值, AOF 文件就需要使用 100 条记录(entry)。 然而在实际上, 只使用一条 SET 命令已经足以保存计数器的当前值了, 其余 99 条记录实际上都是多余的。

为了处理这种情况, Redis 支持一种有趣的特性: 可以在不打断服务客户端的情况下, 对 AOF 文件进行重建(rebuild)。 执行 BGREWRITEAOF 命令, Redis 将生成一个新的 AOF 文件, 这个文件包含重建当前数据集所需的最少命令。

# 配置:AOF文件每次增长指定大小的百分比后,就会触发BGREWRITEAOF
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

从 Redis 4.0 开始,AOF重写逻辑变动了:

@SvenAugustus (https://my.oschina.net/langxSpirit)

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯