Redis 下key的过期时间详解 :expire

标签: redis key 时间 | 发表时间:2016-01-26 11:25 | 作者:
出处:http://m635674608.iteye.com

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

 

http://blog.csdn.net/westsource/article/details/6640526



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [redis key 时间] 推荐:

Redis 下key的过期时间详解 :expire

- - zzm
memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间. 但是redis是一个可以对数据持久化的key-value database,它的key过期策略还是和memcached有所不同的. redis通过expire命令来设置key的过期时间. 语法:redis.expire(key, expiration).

使用key/value数据库redis和TTSERVER的体会

- - 开源软件 - ITeye博客
redis是一个类似memcached的key/value存储系统,它支持存储的value类型相对较多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合). 在此基础上,redis支持各种不同方式的排序. 与memcached一样,为了保证效率,数据都是缓存在内存中.

学会这几个技巧,让 Redis 大 key 问题远离你

- - DiyCode - 致力于构建开发工程师高端交流分享社区社区
个推作为国内第三方推送市场的早期进入者,专注于为开发者提供高效稳定的推送服务,经过9年的积累和发展,服务了包括新浪、滴滴在内的数十万APP. 由于我们推送业务对并发量、速度要求很高,为此,我们选择了高性能的内存数据库Redis. 然而,在实际业务场景中我们也遇到了一些Redis大key造成的服务阻塞问题,因此积累了一些应对经验.

Redis 大数据量(百亿级)Key存储需求及解决方案

- - 掘金 架构
最近我在思考实时数仓问题的时候,想到了巨量的redis的存储的问题,然后翻阅到这篇文章,与各位分享. 该应用场景为DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称supperid)的mapping关系,还包括了supperid的人口标签、移动端id(主要是idfa和imei)的人口标签,以及一些黑名单id、ip等数据.

镀金键盘帽:Gold Key

- Paul - 爱…稀奇~{新鲜:科技:创意:有趣}
传统上而言,判断一个人是不是暴发户,最主要不是看小三的数量,也不是看有没有玛莎拉蒂,最重要的是——看他有没有一颗金牙. 这在改革刚开放那会,一颗金灿灿的门牙,简直就是“老子很有钱”的代名词,可比名片管用多了~. 所以,从这个角度而言,如果你怀念着那个光辉的时代,并想给自己来点后现代的色彩,那么,一颗镀金键盘帽(Gold Key)就是必须的了~4美元一颗,这里有售:chihapaura.com,用来替换自己键盘上的数字“4”,那“仇恨”吸得,我kao,即便是美美也不过如是啊.

mysql中的ON DUPLICATE KEY UPDATE

- - haohtml's blog
INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO,两个命令可以处理重复键值问题,在实际上它之间有什么区别呢. 前提条件是这个表必须有一个唯一索引或主键. 1、REPLACE发现重复的先删除再插入,如果记录有多个字段,在插入的时候如果有的字段没有赋值,那么新插入的记录这些字段为空.

Tair: 淘宝的key/value解决方案

- duxin - 若海的blog
今天我们对外开源了Tair,Tair是由淘宝开发的key/value解决方案,你可以在这里获取更多信息. Tair在淘宝有着大规模的应用,在你登录淘宝、查看商品详情页面、在淘江湖和好友“捣浆糊”等等时候,后面都在直接或间接的和Tair交互. Tair是一个分布式的key/value结构数据的解决方案,系统默认支持基于内存和文件的存储引擎,对应于通常我们所说的缓存和持久化存储.

给钥匙加上套子:Key Keeper

- Chuyue - 爱…稀奇~{新鲜:科技:创意:有趣}
来自日本设计师青木亮作(Ryosaku Aoki)的创意,Key Keeper是给钥匙用的硅胶TT——能干嘛呢. 在平时,它可以一定程度地将钥匙的棱角包裹起来(兼具防尘的作用),避免运动或者玩闹时不小心戳到自己,或者划伤手机外壳,同时多样的色彩又会是漂亮的分类标签,一种颜色对应一种钥匙~并且丝毫不会影响到钥匙本来的功能,开门的时候握住一头,仍然能轻松地插进钥匙孔,这时,Key Keeper会缩回,等抽出钥匙的时候它又能自动弹回.

Cloud Key,躲在 U 盘里的云

- SotongDJ - 爱范儿 · Beats of Bits
看看 Goolge 建立了多少个数据中心. 搭建云服务,需要要众多的服务器吧. 然而位于旧金山的 Piston 推出新产品 Cloud Key,把云服务装进了 U 盘. 那么,Cloud Key 能否像 U 盘那样方便易用呢. 根据公司描述,当 Cloud Key 插进交换机后,只需要短短几分钟,用户就能够完成云计算平台 OpenStack 的设置.

用 InnoDB 時關於 PRIMARY KEY 的建議

- - Gea-Suan Lin's BLOG
Percona 的「 InnoDB scalability issues due to tables without primary keys」這篇文章在討論 InnoDB 在沒有 PRIMARY KEY 時的效能問題. 在討論效能問題前,應該先讀過 MySQL 官方文件裡提到 InnoDB index 架構的文章,其中就有提到 PRIMARY KEY 以及其他的 INDEX KEY 的底層架構:「 InnoDB Table and Index Structures」.