快速掌握Redis——第三招:KEY 操作

说完数据库类型(Key+Value的不同组合),现在说说 key 的操作,相当于mysql的字段,属性,redis对于key的操作很丰富。

1 删除

del key1 key2 ... Keyn

作用: 删除1个或多个键
返回值: 不存在的key忽略掉,返回真正删除的key的数量

2 重命名

  • 重命名 (强制)

    rename key newkey
    

    作用: 给key赋一个新的key名
    注:如果newkey已存在,则newkey的原值被覆盖

  • 重命名 (没有key名就命名)

    renamenx key newkey  
    

    作用: 把key改名为newkey
    返回: 发生修改返回1,未发生修改返回0
    注: nx–> not exists, 即, newkey不存在时,作改名动作

3 随机 key

格式:

randomkey 

返回随机key

4 是否存在 key

格式:

exists key

判断key是否存在,返回1/0

5 判断 key 类型

格式:

 type key

返回key存储的值的类型有string,link,set,order set, hash

6 查询key 有效时间

格式:

ttl key 

作用: 查询key的生命周期
返回: 秒数

注:对于不存在的key或已过期的key/不过期的key,都返回-1
Redis2.8中,对于不存在的key,返回-2

7 设置key 有效期

格式:

expire key seconds #seconds:整型值

作用: 设置key的生命周期,以秒为单位

同理:
pexpire key 毫秒数, 设置生命周期

pttl  key, 以毫秒返回生命周期

指定key置为永久有效

persist key

8 数据库切换/转移数据

一个redis进程,打开了不止一个数据库, 默认打开16个数据库,从0到15编号,
如果想打开更多数据库,可以从配置文件修改
格式:

select N
move key db

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "name"
2) "age"
127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> keys *
(empty list or set)
127.0.0.1:6379[2]> set salary 7000
OK
127.0.0.1:6379[2]> move salary 1
(integer) 1
127.0.0.1:6379[2]> select 1
OK
127.0.0.1:6379[1]> keys *
1) "salary"
2) "name"
3) "age"
127.0.0.1:6379[1]> get salary
"7000"

9 通配符 pattern

keys pattern 查询相应的key
在redis里,允许模糊查询key
有3个通配符 , ? ,
: 通配任意多个字符
?: 通配单个字符

redis 127.0.0.1:6379> flushdb
OK
redis 127.0.0.1:6379> keys *
(empty list or set)
redis 127.0.0.1:6379> mset one 1 two 2 three 3 four 4
OK
redis 127.0.0.1:6379> keys o*
1) "one"
redis 127.0.0.1:6379> key *o
(error) ERR unknown command 'key'
redis 127.0.0.1:6379> keys *o
1) "two"
redis 127.0.0.1:6379> keys ???
1) "one"
2) "two"
redis 127.0.0.1:6379> keys on?
1) "one"
redis 127.0.0.1:6379> set ons yes
OK
redis 127.0.0.1:6379> keys on[eaw]
"one"

你可能感兴趣的:(redis-key-操作,redis-ttl,redis-pattern)