一、Key (键)
DEL
格式:DEL key [key …]
删除给定的一个或多个key
不存在的key会被忽略
可用版本: >= 1.0.0
时间复杂度:
O(n),N为被删除的key的数量
删除单个字符串类型的key,时间复杂度为O(1)
删除单个列表、集合、有序集合或哈希表类型的key,时间复杂度为O(M),M为以上数据结构内的元素数量
返回值:
被删除key的数量
示例代码:
设置单个key 删除单个key 及删除一个不存在的key
同时删除多个key
KEYS
格式:keys pattern
查找所有符合给定模式pattern的key
keys * 匹配数据库中所有的key
keys h?llo 匹配hello,hallo和hxllo等
keys h*llo 匹配hllo 和heeeello等
key h[ae]llo 匹配hello 和 hallo,但不匹配hillo
特殊符号用\隔开
警告:keys的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的key,你最好还是用Redis的集合结构set来代替。
可用版本:
>= 1.0.0
时间复杂度:O(n) n为数据库中key的数量
返回值:符合给定模式的key列表
RANDOMKEY
格式:randomkey
从当前数据库中随机返回(不删除)一个key
可用版本:>=1.0.0
时间复杂度:O(1)
返回值:
当数据库不为空时,返回一个key
当数据库为空时,返回nil
TTL
格式:ttl key
以秒为单位,返回给定key的剩余生存时间(TTL, time to live)
可用版本: >=1.0.0
时间复杂度:O(1)
返回值:
当key不存在,返回-2
当key存在但没有设置剩余生存时间时,返回-1
否则,以秒为单位,返回key的剩余生存时间
注:在redis 2.8以前,当key不存在 或者 key没有剩余生存时间时 命令都返回-1
PTTL
格式:pttl key
这个命令类似于ttl命令,但它以毫秒为单位返回key的剩余生存时间,而不是像ttl命令那样,以秒为单位
可用版本: >=2.6.0
复杂度:O(1)
返回值:
当key不存在时,返回-2
当key存在但没有设置剩余生存时间时,返回-1
否则,以毫秒为单位,返回key的剩余生存时间
注:在redis 2.8以前,当key不存在,或者key没有设置剩余时间时,命令都返回-1