日期:2014-05-16 浏览次数:20546 次
这篇blog主要总结下,redis中跟key相关的常用函数
1)keys
语法:keys pattern
解释:查找所有匹配指定模式pattern的key
[root@xsf001 ~]# redis-cli redis 127.0.0.1:6379> keys * #所有key 1) "score" 2) "stu" 3) "score1" 4) "dest" 5) "lst.user" 6) "lst.tect" redis 127.0.0.1:6379> keys scor? 1) "score" redis 127.0.0.1:6379> keys scor[ee1] 1) "score"2)randomkey
语法:randomkey
解释:返回一个随机key
redis 127.0.0.1:6379> randomkey "score" redis 127.0.0.1:6379> randomkey "list.user"
语法:exists key
解释:判断一个key是否存在
redis 127.0.0.1:6379> exists score #key存在 返回1 (integer) 1 redis 127.0.0.1:6379> exists scorefda #key不存在 返回0 (integer) 04)type
语法:type key
解释:返回key所存储的值类型,返回值:none【key不存在】,string,list ,set, zset和hash
redis 127.0.0.1:6379> type score zset redis 127.0.0.1:6379> type lst.user list
语法:expire key seconds
解释:设置key的生存时间,单位是秒,当key过期时,会被自动删除
redis 127.0.0.1:6379> expire dest 30 (integer) 1 redis 127.0.0.1:6379> expire dest1 30 # key不存在 (integer) 0
语法: ttl key
解释:得到key能存活时间,如果key不存在或没有设置生存时间时,返回-1
redis 127.0.0.1:6379> expire diff 100 (integer) 1 redis 127.0.0.1:6379> ttl diff (integer) 94 redis 127.0.0.1:6379> ttl diff (integer) 927)persist
语法:persist key
解释:移除给定key的生存时间
redis 127.0.0.1:6379> ttl diff (integer) 28 redis 127.0.0.1:6379> persist diff (integer) 1 redis 127.0.0.1:6379> ttl diff (integer) -1
语法:rename key newkey
解释:将key改名为newkey
redis 127.0.0.1:6379> smembers diff 1) "zhangsan01" redis 127.0.0.1:6379> rename diff diff01 OK redis 127.0.0.1:6379> smembers diff (empty list or set) redis 127.0.0.1:6379> smembers diff01 1) "zhangsan01" redis 127.0.0.1:6379> rename diff diff01 (error) ERR no such key注意:当key和newkey相同或key不存在时,返回错误;当newkey已存在时,rename将覆盖旧值。
9)renamenx
语法:renamenx key newkey
解释:当且仅当newkey不存在时,改名key
redis 127.0.0.1:6379> renamenx diff01 stu #stu存在 (integer) 0 redis 127.0.0.1:6379> renamenx diff01 diff #diff不存在 (integer) 1
语法:del key [key ...]
解释:删除一个或多个key
redis 127.0.0.1:6379