您的位置:首页 > 数据库 > Redis

Redis系列(3)--- Redis key相关的操作

2016-06-14 15:06 609 查看
DEL:删除一个或多个key。返回值为删除的key的数量

127.0.0.1:6379> get name
"felix"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> del test
(integer) 0
127.0.0.1:6379>


EXISTS:判断一个key是否存在。返回值为1表示存在,0表示不存在。

127.0.0.1:6379> EXISTS test
(integer) 0
127.0.0.1:6379> set test hello
OK
127.0.0.1:6379> EXISTS test
(integer) 1
127.0.0.1:6379>


EXPIRE: 为给定的key设置生存时间。单位为秒。

当生存时间到期后,key会被自动删除。在redis中,带有生存时间的key称为易失的。可以的生存时间可以使用set或者getset来覆盖(当为一个key设置生存时间后,使用set或者getset更新值以后,生存时间会丢失)。对key进行rename不会删除其生存时间。可以用EXPIRE更新一个key的生存时间。

127.0.0.1:6379> EXPIRE test 3600
(integer) 1
127.0.0.1:6379> ttl test
(integer) 3597
127.0.0.1:6379> rename test name
OK
127.0.0.1:6379> ttl name
(integer) 3584
127.0.0.1:6379> set name felix
OK
127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379>


TTL:查看一个key的剩余生存时间。返回值为-2表示不存在key,返回值为-1表示key没有设置生存时间。

127.0.0.1:6379>  ttl hello
(integer) -2
127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> EXPIRE name 3600
(integer) 1
127.0.0.1:6379> TTL name
(integer) 3597
127.0.0.1:6379>


PERSIST:将key变成持久性的。移除key的生存时间。移除成功,返回1.如果key不存在或没有设置生存时间,则返回0

127.0.0.1:6379> TTL name
(integer) 3286
127.0.0.1:6379> PERSIST name
(integer) 1
127.0.0.1:6379> TTL name
(integer) -1
127.0.0.1:6379>


KEYS:查找匹配给定模式的key。使用glob模式。

* 表示任意长度的任意字符

? 表示任意单个字符

[]给定范围内的任意单个字符

127.0.0.1:6379> KEYS *
1) "myset1"
2) "name"
3) "password"
4) "myzset"
5) "num"
6) "mylist"
7) "myset"
8) "myhash"
9) "sex"
10) "age"
127.0.0.1:6379> KEYS n*
1) "name"
2) "num"
127.0.0.1:6379> KEYS n??
1) "num"
127.0.0.1:6379>


PEXPIRE、PTTL:以毫秒为单
4000
位设置和查看KEY的生存时间。

MOVE:将key从一个数据库移动到另一个数据库。移动成功,返回1,否则返回0.

默认情况下,redis提供了16个数据库,从0到15,可以用select选择所要使用的数据库,默认使用的是0号数据库。

如果源数据库和目标数据库存在相同的key或者是操作的key不存在,则移动失败。

127.0.0.1:6379> move name 1
(integer) 1
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get name
"felix"
127.0.0.1:6379[1]>


RANDOMKEY:从数据库中随机返回一个KEY。数据库为空,返回的是nil

127.0.0.1:6379> RANDOMKEY
"num"
127.0.0.1:6379> RANDOMKEY
"myset1"
127.0.0.1:6379>


RENAME:重命名一个key。如果目标key已经存在,则会覆盖目标key

127.0.0.1:6379> RENAME num number
OK
127.0.0.1:6379>


RENAMENX:当目标key不存在时,重命名key。返回值1表示操作成功,0表示失败。

127.0.0.1:6379> get sex
"-20"
127.0.0.1:6379> RENAMENX sex password
(integer) 0
127.0.0.1:6379> RENAMENX sex number
(integer) 1
127.0.0.1:6379>


NX:表示的是if Not eXist
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis-key