(被动)惰性删除:当客户端请求到一个已经过期的key时,redis会检查是否过期并删除 所以,虽然key过期了,但是没被清理的话,还是会占内存的 。
当Redis达到最大的可用内存时,再向其中存入数据则会报OOM,因此,要避免无限制存入数据导致OOM,则需要采用合适的内存淘汰策略 。
Redis数据的过期与淘汰那对于过期数据 , 一般有三种方式进行处理:Redis的过期删除策略: 惰性删除 和 定期删除 两种策略配合使用 。spring-boot-starter-data-redis 包中提供了监听过期的类,对于key过期 , 需要得到通知,做业务处理的,可以做此监听 。
volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的 Key 优先移除 。修改内存淘汰机制只需要在 redis.conf 配置文件中配置 maxmemory-policy 参数即可 。
redis根据maxmemory-samples随机抽取一部分数据,将最旧的数据淘汰,指到内存降下来 。
内存淘汰管理机制Memory Management当内存占满之后 , redis提供缓存淘汰机制 。
但是实际上这还是有问题的,如果定期删除漏掉了很多过期 key,然后你也没及时去查,也就没走惰性删除,此时会怎么样?如果大量过期 key 堆积在内存里,导致 redis 内存块耗尽了 , 咋整?答案是:走内存淘汰机制 。
关于redis淘汰面试和redis面试大全的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- css怎么拉伸背景图片高度,css设置图片拉伸
- 怎么让mysql显示结果 mysql显示所有数据表
- 电脑pr怎么制作滚动字幕,电脑pr怎么制作滚动字幕文件
- 天津河东代理记账服务平台,天津河东会计培训班
- 苹果手表蜂窝版配安卓手机,apple watch蜂窝安卓
- mysql服务名怎么更改 mysql数据库服务名
- 聊城荣盛小程序开发招聘,聊城荣盛小程序开发招聘电话
- 怎样搭建虚拟机,如何建造虚拟机
- 指纹采集软件安卓,指纹采集软件安卓下载