ITPub博客

首页 > 数据库 > NoSQL > redis 通用key操作命令简谈【二】

redis 通用key操作命令简谈【二】

原创 NoSQL 作者:哎呀我的天呐 时间:2015-08-17 17:20:11 0 删除 编辑

点开,我们开redis的数据结构和命令



通用的键值操作:

查看当前redis中有哪些key:

点击(此处)折叠或打开

  1. 127.0.0.1:6379> keys *
  2. 1) "age"
  3. 2) "site"
*通配多个字符
?通配一个字符
[]通配括号内的某个字符

随机返回一个key名:
randomkey

判断key的类型:

点击(此处)折叠或打开

  1. 127.0.0.1:6379> type age
  2. string
  3. 127.0.0.1:6379> type site
  4. string
判断key是否存在:

点击(此处)折叠或打开

  1. 127.0.0.1:6379> exists age
  2. (integer) 1
  3. 127.0.0.1:6379> exists aa
  4. (integer) 0
删除一个key:

点击(此处)折叠或打开

  1. 127.0.0.1:6379> keys *
  2. 1) "age"
  3. 2) "site"
  4. 127.0.0.1:6379> del site
  5. (integer) 1
  6. 127.0.0.1:6379> keys *
  7. 1) "age"
更改key名字:

点击(此处)折叠或打开

  1. 127.0.0.1:6379> rename age nianling
  2. OK
  3. 127.0.0.1:6379> keys *
  4. 1) "nianling"
  5. 127.0.0.1:6379> get nianling
  6. "29"
如果说重命名时,那么原本的key会被覆盖的,那怎么避免这个问题:

点击(此处)折叠或打开

  1. 127.0.0.1:6379> renamenx nianling age
  2. (integer) 0
  3. 127.0.0.1:6379> keys *
  4. 1) "age"
  5. 2) "nianling"
move key:
说到move key我们先说下MySQL中有多个database,redis中也有多个database,在redis.conf中database 16,我们也可以指定更改此参数,默认使用的是第0个服务器,如下操作变使用了1号服务器,这个概念是我们要明白的。

点击(此处)折叠或打开

  1. 127.0.0.1:6379> keys *
  2. 1) "age"
  3. 2) "nianling"
  4. 127.0.0.1:6379> select 1
  5. OK
  6. 127.0.0.1:6379[1]> keys *
  7. (empty list or set)
下面我们将0号database中的对象move到1号database中

点击(此处)折叠或打开

  1. 127.0.0.1:6379> move age 1
  2. (integer) 1
  3. 127.0.0.1:6379>
  4. 127.0.0.1:6379> select 1
  5. OK
  6. 127.0.0.1:6379[1]> keys *
  7. 1) "age"

生命周期:

redis中默认的对象是没有生命周期的,因为redis不像memcached,他要做持久化的。我们也可以设置其生命周期,返回-1说明没生命周期即无限,对于不存在的key返回-2值。

点击(此处)折叠或打开

  1. 127.0.0.1:6379> keys *
  2. 1) "nianling"
  3. 127.0.0.1:6379> ttl nianling
  4. (integer) -1
  5. 127.0.0.1:6379> ttl aaa
  6. (integer) -2
  7. 127.0.0.1:6379> expire nianling 50
  8. (integer) 1
  9. 127.0.0.1:6379> ttl nianling
  10. (integer) 45
  11. 127.0.0.1:6379> ttl nianling
  12. (integer) 43
  13. 127.0.0.1:6379> ttl nianling
  14. (integer) 42
  15. 127.0.0.1:6379> get nianling
  16. "43"
  17. 127.0.0.1:6379> ttl nianling
  18. (integer) 20
  19. 127.0.0.1:6379> ttl nianling
  20. (integer) -2
  21. 127.0.0.1:6379> get nianling
  22. (nil)
ttl查询生命周期,expire设置生命周期 ,pttl和pexpire用法相同,只不过以毫秒为单位。

将某个key设置持久化:
persist key_name 这样就持久化了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-1774320/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
https://cloud.tencent.com/developer/inventory/14362

注册时间:2014-10-30

  • 博文量
    403
  • 访问量
    2528736