redis 命令:
KEY:
key:
del:
del key 返回值:被移除key的数量
for example:
case one : 删除单个key
set name hello
del name
case two : 删除一个不存在的key
exists phone :检查一个是否存在的值
del phone :试图删除一个不存在的key 失败
case three : 同时删除多个key
mset name aa sex male age 20
del name sex age
keys:
keys pattern
查找符合给定模式的key
return: 符合给定模式的key列表
注意:
keys的速度非常快,但是在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的key,最好还是用集合(set)结构。
keys * :数据库中所有的key
keys h?llo 命中的hello, haloo and hxllo等
keys h*llo 命中hllo和heeeeello等
keys h[ae]llo 命中hello和hallo,但不命中hillo
特殊符号用"\"
mset one 1 two 2 three 3 four 4
keys *0* four two one
keys t?? two
keys t[w]* two
keys * one two three four
randomkey:
从当前数据库中随机返回(不删除)一个key
返回值:当数据库不为空时,返回一个key
当数据库为空时,返回nil。
case one :
mset fruit "apple" drink "beer" food "cookies"
randomkey "fruit"
randomkey "food"
keys * food fruit drink
case two :
flushdb 删除当前数据库中所有的key
randomkey (nil)
ttl:
ttl key
返回给定key的剩余生存时间(time to live)以秒为单位
返回值:
key的剩余生存时间(以秒为单位)
当key不存在或者没有设置生存时间 返回-1
case one :带ttl的key
set name aa
expire name 30
get name :aa
ttl name 当30秒过后 key会被删除
get name :nil
case two:不带ttl的key
set name bb
ttl name :-1
case three :不存在的key
exists not_exists_key:0
ttl not_exists_key:-1
exists:
exists key
检查给定key是否存在
返回值:若key存在 返回1 否则返回0
set db redis
exists db :1
del db:1
exists db:0
move:
move key db
将当前数据库(默认为0)的key移动到给定的数据库中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定key,或者key不存在于当前数据库,那么move没有任何效果。
因此 利用这一特性,将move当做锁原语
返回值:
移动成功返回1 失败则返回0
TODO:
###########################################
renamekey:
renamekey key newkey
当且仅当newkey不存在时,将key改为newkey。
出错的情况和rename一样(key不存在时报错)
返回值:
修改成功时 返回1
如果newkey已经存在,返回0.
case one:newkey不存在的时候 成功
set player mp
exists best:0
renamenx player best:1
case two:newkey存在时,失败
set animal bear
set favorite_animal butterfly
renamenx animal favorite_animal
get animal:bear
get favorite_animal:butterfly
persist:
persist key :移除给定key的生存时间
返回值:
当生存时间移除成功时,返回1
如果key不存在或者key没有设置生存时间,返回0
set time_to_say_goodbye 886
expire time_to_say_goodbye 300:1
ttl time_to_say_goodbye :293
persist time_to_say_goodbye 移除生存时间:1
ttl time_to_say_goodbye :-1
String:
set:
set key value
将字符串值value关联到key
如果key已经持有其他的值,set就复写旧值,无视类型。
返回值:
总是返回ok 因为set是不可能失败。
case one: