Redis作为一种K-V型存储引擎,拥有快速的存储和读取数据的能力,具有很好的性能优势和极具灵活性,而其中涉及到的过期数据问题也一直备受关注,本文旨在简单介绍下Redis中过期策略及规则。
创新互联,为您提供网站建设、成都网站制作、网站营销推广、网站开发设计,对服务成都柴油发电机等多个行业拥有丰富的网站建设及推广经验。创新互联网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!
Redis中存在两种过期策略——自动删除和懒惰删除。前者在写入数据时就指定TTL,而后者每次读取或更新数据时,需要检测过期时间,若当前时间比过期时间晚多少被视为过期,将被自动删除。
Redis中一般采用延迟删除的方式,即定时检测过期的KEY,并进行处理。其具体的实现方式是每隔一段时间,它会统计出需要处理的key的个数,这也是引入延迟删除的考虑之一,可以允许程序更多的处理时间。
Redis中还存在删除策略,具体可分为设置key过期策略、定时检测和处理过期key、设置过期回收策略等三种。
1、指定Key过期策略
Redis为允许开发者指定Key过期策略提供了SETEX、SETNX、PSETEX这三种命令。其中SETEX可指定某个key在指定时间后过期,而SETNX则可指定某个key只在它不已存在时才被设置,也就是允许在指定的时间内防止新的值被写入;PSETEX与SETEX类似,只是TTL的单位由秒改为毫秒。
2、定时检测和处理过期Key
Redis默认每隔一分钟,会启动一次此操作,它会统计出需要处理的key的个数,每次处理至多100条记录,这也是引入延迟删除的考虑之一,可以允许程序更多的处理时间。
3、设置过期回收「TTL」策略
Redis还支持TTL值为负数,当检测到回收超时Key时,Redis会立即进行回收,而不是等待定时器运行时间的到来。
综上所述,Redis的过期策略及规则非常完善,值得开发者充分利用。代码示例如下:
// 设置某个key过期时间为30秒
$redis->setex(‘name’,30, ‘Redis’);
// 获取key的TTL(以秒为单位)
$ttl=$redis->ttl(‘name’);
// 判断key是否存在
if($redis->exists(‘name’)){
$redis->delete(‘name’);
}
成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联成都老牌IDC服务商,专注四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,可选线路电信、移动、联通等。
当前名称:Redis中数据的过期策略及规则(redis过期规则)
网页网址:http://www.shufengxianlan.com/qtweb/news45/393895.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联