redis-cli常用命令记录

redis-cli中有大量的命令,针对不同的数据类型(string, hash, list, set, zset),使用的命令也不尽相同,这里根据自己常用的数据类型进行分类记录。

全局命令

  1. scan (时间复杂度O(1),浏览全部key列表, 从0开始,每次列出10条 命令:scan 0)
  2. keys (KEYS pattern ,时间复杂度O(n),n表示key数量,根据筛选条件筛选,可正则匹配, 列出全部key keys *)
  3. dbsize (统计key记录总数目)
  4. type (时间复杂度O(1),查询特定key的对应类型, type eric表示查询keyname为eric的键类型,返回值为none,string,list,set,zset,hash)
  5. exists (EXISTS key,时间复杂度O(1),判断key是否存在)
  6. expire (时间复杂度O(1),设置key的过期时间)
  7. rename (时间复杂度O(1),修改keyname, 如果新name与原名相同,或者原key不存在,则报错)
  8. del (DEL key [key …] ,时间复杂度O(n),n为被删除key的数目,删除key,)
  9. monitor 监控当前redis的正在执行命令情况

注:
scan每次返回两个结果集,0表示下次索引开始下表, 如果返回0表示一次遍历完成
当数据量很大的时候,执行keys 可能会造成redis进程阻塞,因为会全局遍历

字符串(string)命令

  1. get (获取string key的值)
  2. set (设置单个string key的值)
  3. mget (一次获取多个string key的值)
  4. mset (一次设置多个string key)
  5. strlen (返回string key 存储字符串的长度)

哈希(hash)命令

  1. hget (HGET key field , 时间复杂度O(1), 获取哈希表key中filed域的值 )
  2. hset (HSET key field value,时间复杂度O(1),向哈希表key中设置field域,值为value)
  3. hmset (HMSET key field value [field value …],时间复杂度O(n),n表示查询key数目. 设置多个域)
  4. hmget (HMGET key field [field …], 时间复杂度O(n),n表示查询key数目,查询多个域)
  5. hdel (HDEL key field [field …],时间复杂度O(n), 删除哈希表key中对应域)
  6. hkeys (仅仅返回key下域名的列表)
  7. hscan (返回key下 域名 和 域值的列表)
  8. hvals (仅仅返回全部域的值,不返回域名称)
  9. hlen (HLEN key,,时间复杂度O(1),返回哈希表key中field数目)

string 和 hash的区别:
string为key-value 形式,一个key的值为一个字符串, 例子: eric: “fengsp”
hash为key:object形式,一个key对应一个对象,对象可以有多个属性域,object类似js中的对象 ,
例子: eric: {first_name:”sp”, last_name:”feng”}

…待续

参考网址