redis设置过期时间后再set还用设置时间吗_java中参数传递的两种方式
2023-06-13 09:14:50 时间
redis如何设置过期时间
memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间。
但是redis是一个可以对数据持久化的key-value 数据库,
它的key过期策略还是和memcached有所不同的。
梳理,整理如下:
redis通过expire命令来设置key的过期时间。
****语法:redis.expire(key, expiration)
- 在小于2.1.3的redis版本里,只能对key设置一次expire。 redis2.1.3和之后的版本里,可以多次对key使用expire命令,更新key的expire time。
- redis术语里面,把设置了expire time的key 叫做:volatile keys。 意思就是不稳定的key。
- 如果对key使用set或del命令,那么也会移除expire time。尤其是set命令, 这个在编写程序的时候需要注意一下。
- 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;
- redis对过期键采用了lazy expiration:在访问key的时候判定key是否过期,如果过期,
则进行过期处理。其次,每秒对volatile keys 进行抽样测试,如果有过期键,
那么对所有过期key进行处理。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
相关文章
- java calendar 设置小时_Java Calendar.set 方法设置时间的问题
- 【Redis 系列】redis 学习十四,sorted_set 初步探究梳理
- java JNI: C 语言调用 Java 方法示例详解编程语言
- Redis消息中间件:解决异步消息传输问题(redis消息中间件)
- Java实现Redis入门指南(redis入门Java)
- Java中使用Redis包实现高效缓存(redis包java)
- Java与MySQL事务处理(mysql中java事物)
- 使用Redis实现数据保存-设置值(往redis里set值)
- 大规模锁定Redis,实现批量操作(批量操作redis加锁)
- 构建主流的Redis集群简易而又强大(主流的redis集群技术)
- 如何有效使用Set结构删除Redis中的数据(set删除redis)
- 揭秘Redis多线程模式的奥秘(怎么理解redis多线程)
- 集群步步为营,搭建高可用Redis集群(如何在本地搭建redis)
- 一步安装,快速体验命令行安装Redis(命令行安装redis)
- 优化Redis集群方案合理选择合适的节点(redis 集群选择节点)
- 客户端Java客户端快速关闭Redis连接(关闭redis的java)
- 优化优化Redis集合Set的性能(redis集合set性能)
- Redis限制Key命令的强制应用(redis限制key命令)
- 开启Redis之门Java中的跳表(redis跳表Java)
- Redis集群最少配置3台服务器(redis集群单数台)
- 深入Redis获取全部键值对(redis获取所有键值对)
- Redis中读取set的性能优势(redis 读取set)