Redis入门到高可用(三)——通用命令

通用命令  参考 http://redisdoc.com/index.html

  1. keys  #查看所有key

    时间复杂度:O(N), N 为数据库中 key 的数量。

         127.0.0.1:6379> keys *

          keys命令一般不在生产环境使用!

          原因:生产环境键值对比较多;意义不大

          想用keys命令怎么办?

          ①热备从节点(从节点一般不在生产环境使用,可以在从节点上执行此命令)

          ②使用scan命令代替keys命令

  2. dbsize  #计算key的总数

时间复杂度是O(1),内部有计数器,不是遍历操作的

  3. exists  #检查key是否存在

           时间复杂度:O(1)
           返回值:若 key 存在,返回 1 ,否则返回 0
redis> SET db "redis"
OK

redis> EXISTS db
(integer) 1

redis> DEL db
(integer) 1

redis> EXISTS db
(integer) 0

4. DEL key [key ...]  #删除给定的一个或多个 key 

    不存在的 key 会被忽略。

时间复杂度:O(N), N 为被删除的 key 的数量。
删除单个字符串类型的 key ,时间复杂度为O(1)。
删除单个列表、集合、有序集合或哈希表类型的 key ,时间复杂度为O(M), M 为以上数据结构内的元素数量。
返回值:被删除 key 的数量。
#  删除单个 key

redis> SET name huangz
OK

redis> DEL name
(integer) 1


# 删除一个不存在的 key

redis> EXISTS phone
(integer) 0

redis> DEL phone # 失败,没有 key 被删除
(integer) 0


# 同时删除多个 key

redis> SET name "redis"
OK

redis> SET type "key-value store"
OK

redis> SET website "redis.com"
OK

redis> DEL name type website
(integer) 3

 

      5. TYPE key  #返回 key 所储存的值的类型。

          时间复杂度:O(1)
          返回值:
       none (key不存在)
       string (字符串)
       list (列表)
    set (集合)
    zset (有序集)
    hash (哈希表)
# 字符串

redis> SET weather "sunny"
OK

redis> TYPE weather
string


# 列表

redis> LPUSH book_list "programming in scala"
(integer) 1

redis> TYPE book_list
list


# 集合

redis> SADD pat "dog"
(integer) 1

redis> TYPE pat
set

6. expire、ttl、persist

expire key seconds  #key在seconds秒后过期

ttl  key  #查看key剩余的过期时间

persist key #去掉key的过期时间
posted @ 2018-05-17 02:04  Rainyn  阅读(246)  评论(0编辑  收藏  举报