为什么80%的码农都做不了架构师?>>>   

memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value database,它的key过期策略还是和memcached有所不同的。梳理,整理如下:

redis通过expire命令来设置key的过期时间。

语法:redis.expire(key, expiration)

1. 在小于2.1.3的redis版本里,只能对key设置一次expire。redis2.1.3和之后的版本里,可以多次对key使用expire命令,更新key的expire time。

2. redis术语里面,把设置了expire time的key 叫做:volatile keys。 意思就是不稳定的key。

3. 如果对key使用set或del命令,那么也会移除expire time。尤其是set命令,这个在编写程序的时候需要注意一下。

4. redis2.1.3之前的老版本里,如果对volatile keys 做相关写入操作(LPUSH,LSET),和其他一些触发修改value的操作时,redis会删除 该key。 也就是说 :

redis.expire(key,expiration);

redis.lpush(key,field,value);

redis.get(key) //return null

redis2.1.3之后的版本里面没有这个约束,可以任意修改。

redis.set(key,100);

redis.expire(key,expiration);

redis.incr(key)

redis.get(key)

//redis2.2.2 return 101; redis<2.1.3 return 1;

5. redis对过期键采用了lazy expiration:在访问key的时候判定key是否过期,如果过期,则进行过期处理。其次,每秒对volatile keys 进行抽样测试,如果有过期键,那么对所有过期key进行处理。

转载于:https://my.oschina.net/766/blog/156873

redis下key的过期时间详解相关推荐

  1. java redis expire 1_redis 下key的过期时间详解 :expire

    Redis是一个开源的Key-Value数据缓存,和Memcached类似. Redis多种类型的value,包括string(字符串).list(链表).set(集合).zset(sorted se ...

  2. Redis[5] key的过期时间删除策略、实现lru算法、持久化配置

    文章目录 Redis[5] key的过期时间删除策略.持久化配置 **Redis6的key过期时间删除策略** Redis服务器实际使用的是惰性删除和定期删除两种策略:通过配合使用这两种删除策略,服务 ...

  3. Redis中key的过期时间

    Redis中key的过期时间 背景 实际项目开发中,我们经常会用到redis进行缓存存储,那么redist中key设置与不设置缓存时间,会给我们日常开发中带来哪些影响呢? 场景1:设置了key但是没有 ...

  4. redis查看key的过期时间_面试官:你在Redis中设置过带过期时间的Key吗?

    点击上方小伟后端笔记关注公众号 每天阅读Java干货文章 熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除. 在为key设置过 ...

  5. php redis hset过期时间,详解Redis中数据过期策略

    相信大家对Redis中数据过期有点了解,本文主要介绍了Redis中的数据过期策略,文中通过示例代码介绍的很详细,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,希望能帮助到大家 ...

  6. redis查看key的过期时间_面试官:Redis过期后key是怎么样清理的?

    前言 笔者一个同事面试某大厂时问到的一个问题,这里拿来讲讲:Redis过期后key是怎么样清理的? 在Redis中,对于过期key的清理主要有惰性清除,定时清理,内存不够时清理三种方法,下面我们就来具 ...

  7. Redis源码分析:过期key删除与设置key的过期时间

    Redis中设置key过期时间与过期key的处理流程 在Redis中,可以再设置值的时候就设置该Key的过期时间,也可以通过在expire命令来设置某个key值的过期时间,并且在了解完设置过期时间之后 ...

  8. Redis学习笔记--Redis数据过期策略详解==转

    本文对Redis的过期机制简单的讲解一下 讲解之前我们先抛出一个问题,我们知道很多时候服务器经常会用到redis作为缓存,有很多数据都是临时缓存一下,可能用过之后很久都不会再用到了(比如暂存sessi ...

  9. c# redis hashid如何设置过期时间_Redis中Key过期策略amp;淘汰机制

    1. Redis中设置Key过期时间 我们有两种方式设置过期时间 1.1 设置多久后过期 设置一个 key 10s 过期,可以这样 127.0.0.1:6379> SET key value E ...

  10. 在Redis中设置了过期时间的Key,需要注意哪些问题?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:千山qianshan juejin.im/post/5d6b ...

最新文章

  1. windows加固方案
  2. 大数据最核心的关键技术——32个算法,记得收藏!
  3. 【eoe特刊】第二十七期 OpenGL ES学习及项目解析
  4. 基于维特比算法的概率路径
  5. 值得使用的CSS库添加图像悬停效果!
  6. Dubbo学习总结(5)——Dubbo服务架构及服务治理过程演进
  7. python学习之老男孩python全栈第九期_day024知识点总结——单继承、多继承
  8. Hardware Emulation Platform (硬件仿真平台) 在IC验证中的运用情况如何?
  9. STM32 中的CEC
  10. python实现字典树的插入、查找功能并基于pickle模块持久化存储字典树
  11. android studio moudel,Android Studio中Project和Module的关系
  12. java枚举类的作用及其使用
  13. 离散数学-集合论-关系的概念、表示和运算(7)
  14. win10解决,你没有权限打开该文件,请向文件的所有者或管理员申请权限
  15. 【笔试与面试】中软国际
  16. 关于 Ant Design 的一些笔记
  17. AVC/H264格式压缩编码原理
  18. Think PHP 提示验证码输入错误
  19. 面试宝典-浏览器交互常见问题汇总
  20. PCA 主成分分析-清晰详细又易懂

热门文章

  1. php模拟顺序栈基本操作
  2. Hooks——钩子概览
  3. 网站并发300就很慢
  4. 数据库中单个表数据备份
  5. linux多路径配置
  6. 2012/10/31的工作总结——潘学
  7. 应用程序偏好设置(转)
  8. [11]2020-CVPR-State-Relabeling Adversarial Active Learning论文笔记
  9. lambda expressions
  10. Android 程序中获取一个反向 Shell