https://redis.io/
http://redis.cn/
http://redis.cn/documentation.html
前提:
必须已经使用redis-cli连上redis-server
1.KEYS
KEYS pattern
查找所有符合给定模式pattern(正则表达式)的 key 。
时间复杂度为O(N),N为数据库里面key的数量。
查找所有
keys *
查找特定键
keys *key*
2.EXISTS
EXISTS key [key ...]
返回key是否存在。支持多个键查询,存在则返回存在的个数。
返回值 | 说明 |
---|---|
1 | key存在 |
0 | key不存在 |
3.TYPE
TYPE key
返回key所存储的value的数据结构类型,它可以返回string, list, set, zset 和 hash等不同的类型。
因为redis的键都是string类型的,所以查看的必然是键对应的值的数据类型,只能进行单个查询,不能支持多个键查询。
返回值 | 说明 |
---|---|
string/list/set/zset/hash等不同的类型 | key存在,返回当前key的数据类型 |
none | key不存在 |
4.DEL
DEL key [key ...]
删除指定的一批keys,如果删除中的某些key不存在,则直接忽略。
返回值 | 说明 |
---|---|
数值 | 被删除的keys的数量 |
5.EXPIRE
EXPIRE key seconds
设置key的过期时间,超过时间后,将会自动删除该key。在Redis的术语中一个key的相关超时是不确定的。
超时后只有对key执行DEL命令或者SET命令或者GETSET时才会清除。 这意味着,从概念上讲所有改变key的值的操作都会使他清除。 例如,INCR递增key的值,执行LPUSH操作,或者用HSET改变hash的field所有这些操作都会触发删除动作。
使用PERSIST命令可以清除超时,使其变成一个永久的key。
如果key被RENAME命令修改,相关的超时时间会转移到新key上面。
如果key被RENAME命令修改,比如原来就存在Key_A,然后调用RENAME Key_B Key_A命令,这时不管原来Key_A是永久的还是设置为超时的,都会由Key_B的有效期状态覆盖。
刷新过期时间
对已经有过期时间的key执行EXPIRE操作,将会更新它的过期时间。有很多应用有这种业务场景,例如记录会话的session。
返回值 | 说明 |
---|---|
1 | 成功设置过期时间 |
0 | key不存在或者不能设置过期时间 |
6.PEXPIRE
PEXPIRE key milliseconds
这个命令和EXPIRE命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像EXPIRE命令那样,以秒为单位。
返回值 | 说明 |
---|---|
1 | 设置key以毫秒为单位的过期时间成功 |
0 | key不存在或者设置失败 |
7.TTL
TTL key
返回key剩余的过期时间。 这种反射能力允许Redis客户端检查指定key在数据集里面剩余的有效期。返回的是秒
返回值 | 说明 |
---|---|
整数 | key有效的秒数(剩余的秒数) |
-1 | Redis 2.6和之前版本,如果key不存在或者已过期时返回-1 |
-1 / -2 | Redis2.8开始: 如果key不存在或者已过期,返回 -2; 如果key存在并且没有设置过期时间(永久有效),返回 -1 |
8.PTTL
PTTL key
以毫秒为单位返回 key 的剩余生存时间。
返回值 | 说明 |
---|---|
整数 | key有效的毫秒(剩余的毫秒数) |
-1 | Redis 2.6和之前版本,如果key不存在或者已过期时返回-1 |
-1 / -2 | Redis2.8开始: 如果key不存在返回-2; 如果key存在且无过期时间返回-1 |