Redis 全局通用命令整理

转载请注明出处:

  1.查看所有键

keys *

  该命令会存在线程阻塞问题,keys 命令也可以通过正则匹配获取存在的缓存数据

  Redis从2.8版本后,提供了一个新的命令scan,它能有效的解决keys命令可能带来的阻塞问题。和keys命令执行时会遍历所有键不同,scan采用渐进式遍历的方式来解决keys命令可能带来的阻塞问题,每次scan命令的时间复杂度是O(1),但是要真正实现keys的功能,需要执行多次scan。Redis存储键值对实际使用的是hashtable的数据结构;

 

  scan命令可以解决keys命令可能带来的阻塞问题,同时Redis还提供了hscan、sscan、zscan渐进式地遍历hash、set、zset。

127.0.0.1:6379> scan 0
1) "6"
2) 1) "w"
   2) "i"
   3) "e"
   4) "x"

  返回结果分为两个部分:第一个部分6就是下次scan需要的cursor,第二个部分是10个键

 

 

  2.查看键总数

dbsize

  dbsize命令会返回当前数据库中键的总数。

  dbsize命令在计算键总数时不会遍历所有键,而是直接获取Redis内置的键总数变量,所以dbsize命令的时间复杂度是O(1)。而keys命令会遍历所有键,所以它的时间复杂度是O(n),当Redis保存了大量键时,线上环境 禁止使用。

  

  3.检查键是否存在

exists key

  如果键存在则返回1,不存在则返回0

  

  4.删除键

del key [key ...]

  del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除

  

  5.键过期

expire key seconds

  Redis支持对键添加过期时间,当超过过期时间后,会自动删除键

 

  6.键的数据结构类型

type key

  例如键hello是字符串类型,返回结果为string。键mylist是列表类型,回结果为list

  

  7.查看缓存数据编码类型

object encoding key

  

 

posted @ 2022-05-23 22:53  香吧香  阅读(199)  评论(0编辑  收藏  举报