redis key的过期时间
设置redis key的生存过期时间
Redis 有四个不同的命令可以用于设置键的生存时间(键可以存在多久)或过期时间(键什么时候会被删除) :
- EXPlRE 命令用于将键key 的生存时间设置为ttl 秒。
- PEXPIRE 命令用于将键key 的生存时间设置为ttl 毫秒。
- EXPIREAT < timestamp> 命令用于将键key 的过期时间设置为timestamp所指定的秒数时间戳。
PEXPIREAT < timestamp > 命令用于将键key 的过期时间设置为timestamp所指定的毫秒数时间戳。
redis通过exipre或则pexpire命令,可以以秒或则毫秒为精度为某个key设置过期时间,在经过指定的时间之后,redis服务器就会删除生存时间为0的key
下面的例子中把key1的过期时间设置为20秒,过20秒后redis就会吧key1删除
127.0.0.1:6379> set key1 'value1'
OK
127.0.0.1:6379> exipre key1 20
(error) ERR unknown command 'exipre'
127.0.0.1:6379> expire key1 20
(integer) 1
127.0.0.1:6379> get key1
"value1"
127.0.0.1:6379> get key1
"value1"
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379>
setex命令可以在设置一个字符串key的时候,同时设置该key的过期时间,因为这个命令是一个类型限定的命令(只能用于字符串键),但SETEX 命令设置过期时间的原理和EXPIRE命令设置过期时间的原理是完全一样的。
与EXPlRE 命令和PEXPIRE 命令类似,客户端可以通过EXPlREAT 命令或PEXPlREAT命令,以秒或者毫秒精度给数据库中的某个键设置过期时间(expire time)。过期时间是一个UNIX时间戳,当键的过期时间来临时,服务器就会自动从数据库中删除这个键:
使用方式如下
127.0.0.1:6379> set key1 'value1'
OK
127.0.0.1:6379> expireat key1 1545470885
(integer) 1
127.0.0.1:6379> time
1) "1545470897"
2) "996846"
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379>
TTL 命令和PTTL 命令接受一个带有生存时间或者过期时间的键,返回这个键的剩余生存时间,也就是,返回距离这个键被服务器自动删除还有多长时间:
127.0.0.1:6379> time
1) "1545470973"
2) "878082"
127.0.0.1:6379> set key1 'value1'
OK
127.0.0.1:6379> expireat key1 1545471973
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 962
127.0.0.1:6379> ttl key1
(integer) 961
移除过期时间
PERSIST命令可以移除一个键的过期时间:使用方式如下:
127.0.0.1:6379> set key1 'value1'
OK
127.0.0.1:6379> time
1) "1545471314"
2) "556941"
127.0.0.1:6379> expireat key1 1545481314
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 9980
127.0.0.1:6379> persits key1
(error) ERR unknown command 'persits'
127.0.0.1:6379> persist key1
(integer) 1
127.0.0.1:6379> ttl key1
(integer) -1
redis key的过期时间的更多相关文章
- Redis五种数据类型-设置key的过期时间
1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...
- redis 下key的过期时间详解 :expire
memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间.但是redis是一个可以对数据持久化的key-value database,它的key过期策略还是和me ...
- redis批量设置过期时间
Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作.代码如下: redis-cli keys &qu ...
- redis基本操作和 过期时间设置以及持久化方案
Redis是NOSQL阵营中的一种数据库,主要用于存储缓存 五大数据类型:字符串(String).散列(hash).列表(list).集合(set).有序集合(SortedSett .zset) St ...
- Redis-设置Key的过期时间及相关策略
Redis-设置Key的过期时间及相关策略 1.设置key的过期时间 1.1expire key second:设置key的过期时间(秒) 1.2ttl key:查看key的有效期 1.3persis ...
- redis中的key设置过期时间
EXPIRE key seconds 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除. 在 Redis 中,带有生存时间的 key 被称为『易失的 ...
- Python操作Redis之设置key的过期时间
对于一个已经存在的key,我们可以设置其过期时间,到了那个时间后,当你再去访问时,key就不存在了 有两种方式可以设置过期时间,一种是指定key从当前时间开始算起还能存活多久,时间单位有两个,一个是秒 ...
- Redis设置和更新Key的过期时间
EXPIRE key seconds 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除. 在 Redis 中,带有生存时间的 key 被称为『易失的』(volati ...
- python中redis查看剩余过期时间以及用正则通配符批量删除key的方法
# -*- coding: utf-8 -*- import redis import datetime ''' # 1. redis设置过期时间的两种方式 expire函数设置过期时间为10秒.10 ...
随机推荐
- PHPMailer出现SMTP connect() failed.
很可能是端口问题,最好把$mailer->SMTPSecure和$mailer->Port分别设置为ssl与465或者tls与587,否则某些浏览器不接受不安全的链接,导致$mailer- ...
- Vue.js组件之间的调用
index.html: <div id="app"></div> 运行完index.html之后自动寻找运行main.js文件 main.js: impor ...
- javaMail实现收发邮件(三)
JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Mes ...
- 【JAVA】杨辉三角
ソース public Yanghui3jiao() { List<String[]> rowList = new ArrayList<String[]>(); List< ...
- Mark,20180127,技术博客之路开启!
不怎么会说话,自己本身少说话的撸码loner,少说多做.毕业从事手游一年多,之前主要从事Cocos2dx,刚转投Unity不到一个月,后面主要总结下自己在这两方面开发过程中的一些历程,希望自己能有所积 ...
- 100-days: eleven
Title: Facebook's live streaming(网络直播) is criticized(批评) after mosque(清真寺) shooting(枪击). live adj.现场 ...
- Pains and Sickness 学习笔记
Headaches can be very painful and can last for a long time. If you have a headache, your head hurts. ...
- input中用中文输入法下的全角·替换英文输入法下的句号.
核心语句 <input type="text" onkeyup="this.value=this.value.replace(/\./g, '·')" o ...
- jquery中bind和on的区别
1.首先,来看看bind和on的语法. bind的用法: $('a').bind('click',[data],function(){}) 其事件的绑定者是固定的,就是a,第一个参数是事件,第二个参数 ...
- vba文件对比并高亮显示
每月月底要和人事要离职人员名单,并账号列表里删除已经离职人员的账号,如下代码通过将账号列表与人事发来的离职清单进行对比,高亮找出离职人员的账号,并进行删除. Sub DeleteMain() Dim ...