您当前的位置: 首页 >  redis

科技D人生

暂无认证

  • 0浏览

    0关注

    1550博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Redis学习总结(17)——Redis 持久化和过期机制复习

科技D人生 发布时间:2020-07-14 20:44:45 ,浏览量:0

RDB

RDB 是 Redis 持久化的第一种方式。有两个 Redis 命令可以用于生成 RDB 文件,一个是 SAVE,另一个是 BGSAVE。SAVE 会阻塞 Redis 服务器进程,执行时 Redis 服务器会阻塞所有客户端发送的命令。

redis> SAVE
OK

BGSAVE 会派生出一个子进程执行,执行时仍可继续处理客户端的命令,但会拒绝客户端 SAVE 和 BGSAVE 的命令,延迟 BGREWRITEAOF 命令。

redis> BGSAVE
Background saving started
执行条件

SAVE 命令会阻塞服务器,所以只能手动执行。BGSAVE 可以在不阻塞的情况下执行,所以可以配置 save 选项让服务器每隔一段时间自动执行一次。比如我们可以向服务器提供以下配置:

save 900 1
save 300 10
save 60 10000

那么只要满足以下三个条件中的任意一个即可被执行:

  • 服务器在 900 秒之内对数据库进行了至少 1 次修改。
  • 服务器在 300 秒之内对数据库进行了至少 10 次修改。
  • 服务器在 60 秒之内对数据库进行了至少 10000 次修改。

为了实现这一功能,服务器会维持一个记录距离上次保存之后修改的次数的 dirty 计数器和一个记录上次保存时间的 lastsave 属性。周期操作函数 serverCron 默认每个 100 毫秒就会执行一次,它的其中一项工作就是检查 save 选项设置的条件是否满足ÿ

关注
打赏
1662604032
查看更多评论
立即登录/注册

微信扫码登录

0.0430s