分析&回答


如何设置过期时间?

为Key设置过期时间,expire key time(以秒为单位)。

定期删除

也叫主动删除:redis会定期主动淘汰一批已经过期的key。

  • 当前已用的内存超过maxmemory限定时,触发主动清理策略。
  • 如果redis的内存占用过多的时候,如果redis的内存占用过多的时候,会进行内存淘汰。

惰性删除

也叫被动删除:当读/写一个已经过期的key时,会直接删掉这个过期的key。

如果 Redis 内存不足会有那些策略

  • noeviction:报错,当内存不足以容纳新写入数据时,新写入操作会报错
  • allkeys-lru:在键空间中,移除最近最少使用的key
  • allkeys-random:在键空间中,随机移除某个key
  • volatile-lru:在设置了过期时间的键空间中,移除最近最少使用的key
  • volatile-random:在设置了过期时间的键空间中,随机移除某个key
  • volatile-ttl:在设置了过期时间的键空间中,有更早过期时间的key优先移除

如何选择

  • 一般做缓存的话,使用allkeys-策略;
  • 如果使用其持久化策略的话,volatile-策略。
  • 最经常用的是allkeys-lru。

为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧扫码小程序刷起来!

为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!

Redis 过期策略都有哪些?相关推荐

  1. @cacheable 设置过期时间_缓存面试三连击——聊聊Redis过期策略?内存淘汰机制?再手写一个LRU 吧!...

    大家好,今天我和大家想聊一聊有关redis的过期策略的话题. 听到这里你也许会觉得:"我去,我只是个日常搬砖的,这种偏底层的知识点,我需要care吗?" 话虽如此·,但是兄die, ...

  2. 老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩、击穿、穿透

    前文回顾 建议前一篇文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 过期策略 Redis 的过期策略都有哪些? 在聊这个问题之前,一定 ...

  3. redis 过期策略

    redis 过期策略是:定期删除+惰性删除. 所谓定期删除,指的是 redis 默认是每隔 100ms 就随机抽取一些设置了过期时间的 key,检查其是否过期,如果过期就删除. 假设 redis 里放 ...

  4. redis过期策略与淘汰策略

    redis过期策略与淘汰策略 1.过期策略 2.淘汰策略 3.在哪里配置? 4.Lazy Free 1.过期策略 1.redis中所有的key都可以通过expire命令来设置过期时间,所有被设置了过期 ...

  5. redis过期策略和持久化

    Redis过期策略 注:本文主要参考自<Redis设计与实现> 1.设置过期时间 expire key time(以秒为单位)--这是最常用的方式 setex(String key, in ...

  6. Redis过期策略与内存淘汰机制

    参考博客:https://blog.csdn.net/u010006156/article/details/124914082 Redis过期策略与内存淘汰机制 过期策略简介 作用 redis数据都是 ...

  7. Redis 过期策略和淘汰策略

    1.Redis 过期策略 Redis 过期策略用于处理设置了缓存时间的数据,使用定时扫描和惰性删除机制删除到期的缓存数据. Redis 将设置了过期时间的 key 保存在一个独立的字典中,定时扫描就是 ...

  8. 【带你重拾Redis】Redis过期策略 和 内存淘汰策略(key回收)

    过期策略 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时,我们自己可以指定缓存到期就失效. 如果假设你设置一个一批key只能存活1个小 ...

  9. Redis过期策略及实现原理

    2019独角兽企业重金招聘Python工程师标准>>> 我们在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期. 当我们设置了过期时间,redis ...

  10. 第九章 Redis过期策略

    注:本文主要参考自<Redis设计与实现> 1.设置过期时间 expire key time(以秒为单位)--这是最常用的方式 setex(String key, int seconds, ...

最新文章

  1. 一个“复制/删除”方式的滚动
  2. R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection)
  3. 中国版 Ubuntu Kylin 14.04 LTS 麒麟操作系统中文版发布下载 (Ubuntu天朝定制版)
  4. mysql的连表查询_MySQL_连表查询
  5. linux 记事本程序,Linux记事本操作
  6. RTL 和 综合 等一些基本概念的摘记
  7. 匿名内部类和匿名类_匿名schanonymous
  8. 如何使用async / await和Firebase数据库编写漂亮的Node.js API
  9. 【戴嘉乐】(进阶)基于IPFS和Ngrok构建自维护资源网关
  10. php中const的意思,php – 在const中使用const
  11. vue 判断一个数是否在数组中_高级前端进阶,vue如何实现$nextTick
  12. vivo手机充电慢还耗电
  13. 东芝正式退出笔记本电脑业务!
  14. Android拖放– DragLinearLayout
  15. 【灰色系统】—— 灰色系统的定义及其理论内容
  16. 使用SnakeYAML读取yaml配置文件
  17. VMware Horizon View许可证如何工作?
  18. 史上最拉跨的导线平差程序( by C#)
  19. unity3d 动态添加地面贴图 草地
  20. 程序员生存定律--成长路上常见的坑(2)

热门文章

  1. 今天第一次做PIZZA,很成功.
  2. 隐藏播放器html代码大全,播放器代码大全
  3. 概率论与随机过程难题整理复习
  4. 公路路桥企业工程管理软件
  5. 9008刷机 小米max2_小米max2线刷包_小米max2刷机包_小米max2固件包_小米max2救砖包 - 线刷宝ROM中心...
  6. JavaScript全部替换 - js replaceAll()
  7. 网络安全工程师面试题整理
  8. Python 写入txt文本文件
  9. 【bzoj 3815】卡常数
  10. 小程序源码:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题