通用命令
1.keys
时间复杂度:O(n), n 为数据库中 key 的数量。
返回值:符合给定模式的 key 列表。
一般在生产环境中不建议使用(生产环境key数量比较多容易造成阻塞)
1 | keys [pattern] #查找所有符合给定模式 pattern 的 key 。 |
2.dbsize
返回当前数据库的 key 的数量。
时间复杂度:O(1)
返回值:当前数据库的 key 的数量。
生产环境可使用
1 | 127.0.0.1:6379> dbsize |
3.exists
exists key 检查给定 key 是否存在。
时间复杂度:O(1)
返回值:若 key 存在,返回 1 ,否则返回 0 。
1 | 127.0.0.1:6379> exists hello |
4.del
del key [key …]
删除给定的一个或多个 key ,不存在的 key 会被忽略。
时间复杂度:O(n), n 为被删除的 key 的数量。
删除单个字符串类型的 key ,时间复杂度为O(1)。
删除单个列表、集合、有序集合或哈希表类型的 key ,时间复杂度为O(M), M 为以上数据结构内的元素数量。
返回值:被删除 key 的数量。
5.expire
expire key seconds
设置 key 在seconds秒后过期
时间复杂度:O(1)
返回值:设置成功返回 1 ,当 key 不存在或者不能为 key 设置生存时间时,返回 0 。
1 | #设置 age 20秒后过期 |
6.ttl
ttl key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
时间复杂度:O(1)
返回值:
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。
注意:在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
7.persist
persist key
去除 key 的过期时间,使其变成一个不带生存时间、永不过期 key 。
时间复杂度:O(1)
返回值:
当生存时间移除成功时,返回 1 .
如果 key 不存在或 key 没有设置生存时间,返回 0
1 | #设置 age 30秒后过期 |
8.type
type key
返回 key 所储存的值的类型。
时间复杂度:O(1)
返回值:
none (key不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)