redis中的数据过期后是如何处理的呢?

redis爱好者
  • 12

redis可以设置数据过期时间,如果一个数据过期是如何处理的呢?是有一个计时器实时删除吗?这样太低效了。是下次使用的时候再判断吗?这样随着数据的增多,会不会判断时间越来越长?

回复
阅读 12.9k
3 个回答
悬空时代
  • 135

这篇文章有说明:http://www.cppblog.com/richbirdandy/archive/2011/11/29/161184.html

以上3种删除过期key的途径,第二种定期删除一定比例的key是主要的删除途径,第一种“读时删除”保证过期key不会被访问到,第三种是一个当内存超出设定时的暴力手段。由此也能看出redis设计的巧妙之处,

这方面你可以搜索Redis过期策略,相关文章很多,我对Redis也仅仅是了解和使用,并没有深究原理。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏