redis过期键值对的实现原理

redis数据结构在这里不讨论,把数据结构再往上提一层,redis就是一些键值对,我们在往redis里写数据的时候,可以设置一个过期时间,那么redis是如何保证让数据的安全性的呢

这里从两个方面给大家阐述一下:

1、当我们给某个键值对设置过期时间的时候,redis会同时生成一个数据字典,key就是你保存数据的key,然后值是一个指向保存数据的键值对,还有一个属性就是过期时间,是一个时间戳,是过期的时刻


2、判断过期策略,redis有以下三种:

A、创建带过期时间的键值对时,会同时创建一个定时任务,也就是说有几个需要设置过期时间的就有几个定时任务

B、开启一个线程,每隔一段时间对过期字典进行轮训,然后找到过期的键

C、客户端每查询出一个键之前,先去判断是否过期,如果过期则返回空


其中redis默认采用BC联合模式,具体原因你懂的,只能说这种比较通用,如果你的程序很特别,也许你的最佳选择是A。

没有公共的最佳选择,只有最适合你程序的选择

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 9,480评论 2 27
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,106评论 2 89
  • 年纪大了,阅历丰富了,多了一份从容和就别重逢的喜悦。——《星际穿越》 这句是我喜欢的电影星际穿越的一句台词,当然目...
    柏树维度阅读 1,852评论 0 0
  • 回来过年,久不见面的朋友相聚,分开五年,再见面,彼此都很陌生 上次见面,朋友刚结束第一段婚姻,一个人在外漂泊,我带...
    ai兔子姐姐阅读 877评论 1 1
  • 这是我读过关于时间管理最有意义的一本书,分享一些读后总结给大家,不喜勿喷哦。 作者叫阿兰.拉金。美国前...
    米粒的远方阅读 4,017评论 0 10