redis快照模式.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
redis快照模式

redis 快照模式 redis 是带有持久化这个能力了,那到底持久化成到哪里,持久化成啥样呢???我们一起来寻求答案。 一:快照模式 或许在用 Redis 之初的时候,就听说过 redis 有两种持久化模式,第一种是 SNAPSHOTTING 模式,还是一种是 AOF 模式,而且在实战场景下用的最多的莫过于 SNAPSHOTTING 模式, ,而且你可能还知道,使用NAPSHOTTING 模式,需 要在 redis.conf 中设置配置参数,比如下面这样: # Save the DB on disk: # # save seconds changes # # Will save the DB if both the given number of seconds and the given # number of write operations against the DB occurred. # # In the example below the behaviour will be to save: # after 900 sec (15 min) if at least 1 key changed # after 300 sec (5 min) if at least 10 keys changed # after 60 sec if at least 10000 keys changed # # Note: you can disable saving completely by commenting out all save lines. # # It is also possible to remove all the previously configured save # points by adding a save directive with a single empty string argument # like in the following example: # # save save 900 1 save 300 10 save 60 10000 上面三组命令也是非常好理解的,就是说 900 指的是 “秒数” ,1 指的是 “change次数” ,接下来如果在 “900s“内有 1 次更改,那么就执行 save 保存,同样的道理,如果 300s 内有 10 次 change ,60s 内有 1w 次 change ,那么也会执行save 操作,就这么简单,看了我刚才说了这么几句话,是不是有种直觉在告诉你,有两个问题是不是要澄清一下: 1. 上面这个操作应该是 redis 自身进行的同步操作,请问是否可以手工执行save 呢? 1 / 6 当然可以进行手工操作,redis 提供了两个操作命令:save ,bgsave ,这两个命令都会强制将数据刷新到硬盘中,如下 图: 2. 看上面的图,貌似 bgsave 是开启单独线程的,请问是吗? 确实如你所说,bgsave 是开启次线程进行数据刷新的,不信的话我们来看看代码,它的代码是在 rdb.c 源文件中,如下: 2 / 6 从上面的代码中,有没有看到一个重点,那就是 fork 方法,它就是一些牛人口中说的什么 fork 出一个线程,今天你也算终 于看到了,其实 redis 并不是单纯的单线程服务,至少fork 告诉我们,它在一些场景下也是会开启工作线程的,然后可以看 到代码会在工作线程中执行同步的 bgsave 操作,就这么简单。 3. 能简单说下 saveparams 参数在 redis 源码中的逻辑吗? 可以的,其实在 redis 中有一个周期性函数,叫做serverCron ,它会周期性启动,大概会做七件事情,如redis 注释所 说: 3 / 6 /* This is our timer interrupt, called server. hz times per second. * Here is where we do a number of things that need to be

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档