`
lijitaoccnu
  • 浏览: 36607 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Redis设置过期时间

阅读更多

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进行处理。

分享到:
评论

相关推荐

    java操作Redis缓存设置过期时间的方法

    主要介绍了java操作Redis缓存设置过期时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    redis命令集合,redis命令详解

    EXPIRE设置某个key的过期时间(秒),(EXPIRE bruce 1000:设置bruce这个key1000秒后系统自动删除)注意:如果在还没有过期的时候,对值进行了改变,那么那个值会被清除。 TTL查找某个key还有多长时间过期,返回时间秒 ...

    Redis内存过期策略

    Redis内存过期策略,Redis的内存回收机制,相关配置项

    flink-connector-redis_2.11-1.1.5.jar

    flink连接redis设置过期时间和密码

    在ASP.NET MVC中使用Redis 的Demo:通过Redis实现用户登陆,并保持登陆状态。

    在ASP.NET MVC中使用Redis 的Demo:通过Redis实现用户登陆,并保持登陆状态,设置过期时间,检测在线用户。

    python中redis查看剩余过期时间及用正则通配符批量删除key的方法

    redis设置过期时间的两种方式 expire函数设置过期时间为10秒。10秒后,ex1将会失效 expireat设置一个具体的时间,15年9月8日15点19分10秒,过了这个时间,ex2将失效 如果设置过期时间成功会返回True,反之返回False ...

    springboot+redis+token保持登录

    通过redis 设置session过期时间,实现token 登录机制

    redis分布式锁带过期时间和方法名代码.zip

    redis分布式锁带方法名和过期时间,如果不传方法名自动获取改方法名做key,使锁的粒度到方法级别,释放锁的时间可以根据自己的需要自定义,默认5s,为了解决超大方法执行时间太长,还没有执行完,锁就被释放掉的问题.

    Redis 事务与过期时间详细介绍

    Redis 事务与过期时间详细介绍 一、Redis事务: Redis中支持事务,事务即为当我们...二、Redis过期时间: 实际开发中经常会遇到一些有时效性的数据,比如缓存,过一段时间就需要删除这些数据,Redis支持设置一个键的

    Python操作Redis之设置key的过期时间实例代码

    主要介绍了Python操作Redis之设置key的过期时间实例代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

    Redis Desktop Manager 2020.0.79 for Mac

    使用 RDM 分析您的Redis服务器内存使用情况,并通过批量删除来删除过期的数据。RDM支持 TLS,SSH 和 TLS-over-SSH 隧道,可轻松安全地访问任何Redis服务器。 重要的事说三遍 支持SSH 支持SSH 支持SSH 更多的内容,...

    redis缓存过期设置1

    1)volatile-lru:使用LRU算法移除key,只对设置了过期时间的键(2)allkeys-lru:使用LRU算法移除key(3)volatile-ra

    RedisConfig-cgd.java

    springboot2.x版本的redis配置java类,修改redis缓存默认过期时间。

    redis 7.0.0 windows版

    6. 在从节点中,TTL的时间标识的是绝对时间,不再是相对时间,从而保证了过期数据被及时删除。 7. 不再支持 gopher协议。 8. 当在配置文件中设置replica-serve-stale-data=no, 当主节点不再提供服务时,PING命令得...

    Redis面试专题30道.zip

    1、什么是 Redis?简述它的优缺点? 2、Redis 相比 memcached 有哪些优势? 3、Redis 支持哪几种数据...28、Redis key 的过期时间和永久有效分别怎么设置? 29、Redis 如何做内存优化? 30、Redis 回收进程如何工作的?

    springboot2.7.9+Redis6.2.5实现订单超时处理+数据超时+订单超时监听

    案例使用springboot2.7.9整合MyBatis+MySQL+Redis,实现向订单表添加数据后,并通过Redis的数据过期功能,实现当订单规定时间类没有处理的时候,通过监听修改订单的状态,让订单的状态从正常状态编程失效状态。...

    spring-redis-session 自定义 key 和过期时间

    主要介绍了spring-redis-session 自定义 key 和过期时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Redis面试题50道(含答案)_.pdf

    28、Redis key 的过期时间和永久有效分别怎么设置? 29、Redis 如何做内存优化? 30、Redis 回收进程如何工作的? 31、Redis 回收使用的是什么算法? 32、Redis 如何做大量数据插入? 33、为什么要做 Redis 分区? ...

    python redis 批量设置过期key过程解析

    这篇文章主要介绍了python redis 批量设置过期key过程解析,文中通过示例... 3.dba 批量设置过期时间,(一般测试可以直接批量设置,线上谨慎操作)  通过一段代码,批量实现给未设置过期的key,设置24小时过期 from

    【redis教程】12、redis中过期数据的删除策略

    创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作。 优点 节约内存,到时就删除,快速释放内存 缺点 当CPU压力很大时,会影响redis服务器的相应时间和指令吞吐量 总结 ...

Global site tag (gtag.js) - Google Analytics