给redis设置过期时间有啥用?
- 防止out of memory
- 有些业务场景只需要数据在一定时间内存在
- 验证码
- 用户token之类的
redis如何判断数据是否过期的?
通过一个过期字典,可以看作hash表,字典的键指向redis数据库中的key,值是long类型的整数(时间戳)
redis删除策略?
-
惰性删除
在取出值的时候判断,对cpu友好,但是会造成大量过期数据未删除的情况
-
定期删除
每隔一段时间抽取一批,并且会限制删除操作的时长和频率
定期对内存友好,惰性对cpu友好,所以采用定期+惰性(懒汉式)
惰性和定期删除还是会有很多过期key存在,怎么解决呢?
redis内存淘汰机制
redis提供六种淘汰策略文章来源:https://www.toymoban.com/news/detail-798488.html
- 设置过期的数据中挑最近最少使用的
- 设置过期的数据挑将要过期的
- 设置过期的数据中挑选任意的
- 内存不足以存入新数据时,移除最近最少使用的
- 任意删除
- 不删除,内存不足时写入报错
4.0版本又加入两种文章来源地址https://www.toymoban.com/news/detail-798488.html
- 过期中最不经常使用的
- 内存不足以存入新数据时,移除最不经常使用的
到了这里,关于redis内存淘汰机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!