最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Redis使用总结

来源:动视网 责编:小采 时间:2020-11-09 13:14:47
文档

Redis使用总结

Redis使用总结:数据持久化 快照 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。 例子:要求如果每60秒有超过
推荐度:
导读Redis使用总结:数据持久化 快照 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。 例子:要求如果每60秒有超过


数据持久化 快照 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。 例子:要求如果每60秒有超过10

数据持久化

快照

缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。
例子:要求如果每60秒有超过1000条记录被更新,就自动将数据写到磁盘上,可以用下面的命令

SAVE 60 1000

这种策略称为快照。

工作原理

  • Redis forks.
  • 子进程开始将数据写到临时RDB文件中。
  • 当子进程完成写RDB文件,用新文件替换老文件。
  • 这种方式可以使Redis使用copy-on-write技术。

    Append-only文件

    快照模式并不十分健壮,当系统停止,或者无意中Redis被kill掉,最后写入Redis的数据就会丢失。这对某些应用也许不是大问题,但对于要求高可靠性的应用来说,Redis就不是一个合适的选择。
    Append-only文件模式是另一种选择。
    你可以在配置文件中打开AOF模式:

    appendonly yes

    每次Redis接收到修改请求(SET),就会将数据写入AOF尾部。当重启Redis时,Redis会回放AOF中的内容。

    LOG重写

    AOF文件会随着写操作而变得越来越大。所以Redis支持一个有趣的特性:Redis可以在后台重建AOF,同时不会中断对前端的服务。当执行命令BGREWRITEAOF,Redis会在内存中写出拥有重建数据的最少的命令序列。如果你使用AOF,你应该经常地运行BGREWRITEAOF。

    AOF能做到多大程度的持久化?

    你可以配置Redis多长时间将数据fsync到磁盘上,有3种选择:

  • 每次有更新命令就执行fsync,这种方式非常慢,但非常安全。
  • 每秒钟执行一次fsync,这种方式足够快,但是有可能丢失一秒钟的数据。
  • 永远不执行fsync,有操作系统控制,这种方式更快,也更不安全。
  • 建议的策略(缺省)是每秒钟执行一次fsync.

    当AOF文件被破坏时该怎么办?

    有可能在写AOF时Redis崩溃,已破坏的文件不能被Reids使用。要解决这个问题参考下面的步骤:

  • 备份你的AOF文件
  • 用redis-check-aof修复你的原始文件
  • $ redis-check-aof --fix 
  • 使用diff -u 检查两个文件的差异(可选)
  • 使用修复后的文件重启Redis
  • 工作机制

    日志重写和快照模式使用了相同的copy-on-write机制。

  • Redis forks
  • 子进程开始写新的AOF文件到一个临时文件中
  • 父进程将新的更新命令保存在内存中(同时将这些更新写到老的AOF文件)
  • 当子进程完成写文件,父进程得到信号,将更新写到子进程创建的AOF文件
  • Redis自动将AOF文件改名,使用新的AOF文件
  • 原文出处:http://www.imsiren.com/archives/955

    文档

    Redis使用总结

    Redis使用总结:数据持久化 快照 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。 例子:要求如果每60秒有超过
    推荐度:
    标签: 使用 数据 情况
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top