Redis 主键失效机制如何保证 Expire 0-1毫秒的误差?
PHPz
PHPz 2017-05-31 10:31:26
0
1
1282

看了很多文章介绍 主键失效机制的,主要是通过配置失效淘汰策略(LRU/TTL/RADMON 针对 volatile 和 全局 key 的)和失效策略(消极方法+积极方法)。

我有个疑问,官方介绍 key 的 expire 方法的时候(可以戳这里)说2.6版本之后可以达到0-1毫秒的延迟。
但是失效策略最高效的情况下(配置:volatile-ttl),当所有的失效 key 都放在 dict 里面去处理超时销毁时,失效策略的执行是1/10秒执行一次(100毫秒),怎么就能达到官方说的0-1毫秒呢?是不是我哪里理解有误呢?

介绍失效机制:

  1. http://blog.nosqlfan.com/html...

  2. https://yq.aliyun.com/article...

介绍 expire:

  1. http://redis.cn/commands/expi...

PHPz
PHPz

学习是最好的投资!

全部回复(1)
刘奇

很简单,「过期」!=「删除」。

过期精度的提升,我估计主要还是由于 pexpire 命令的引入带来的。之前记录的 ttl 应该只有秒级精度,所以过期精度也就那样了。

Redis 肯定没有办法保证在 1ms 内删除所有已过期的 key,但是它可以保证你不会看到过期超过 1ms 的 key。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!