Redis Key 常用命令
参考自 Redis官方文档(中文版)
KEYS
加入版本 1.0.0。
时间复杂度: O(N),N 为数据库中 key 的数量。查找所有符合给定模式
pattern
的key
。特殊符号用\
隔开。
1 |
|
Warning:KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 KEYS, 你最好还是用 Redis 的集合结构 SETS 来代替。
DEL
加入版本 1.0.0。
时间复杂度: O(n)N为要移除的key的数量。移除单个字符串类型的key,时间复杂度为O(1)。移除单个列表、集合、有序集合或哈希表类型的key,时间复杂度为O(M),M为以上数据结构内的元素数量。如果删除的key不存在,则直接忽略。返回被删除的keys的数量,Key 不存在返回0
语法
1 |
|
EXISTS
加入版本 1.0.0。
时间复杂度: O(1)。
返回key是否存在。如果key存在返回 1 ;如果key不存在 返回 0。
语法
1 |
|
MOVE
加入版本 1.0.0。
时间复杂度: O(1)。
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。因此,也可以利用这一特性,将 MOVE 当作锁(locking)原语(primitive)。
语法
1 |
|
RENAME
加入版本 1.0.0。
时间复杂度: O(1)。
将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。
语法
1 |
|
RENAMENX
加入版本 1.0.0。
时间复杂度: O(1)。
当且仅当 newkey 不存在时,将 key 改名为 newkey 。当 key 不存在时,返回一个错误。
语法
1 |
|
EXPIRE
加入版本 1.0.0。
时间复杂度: O(1)。
设置key的过期时间。如果key已过期,将会被自动删除。设置了过期时间的key被称之为volatile。在key过期之前可以重新更新他的过期时间,也可以使用PERSIST命令删除key的过期时间。
在Redis< 2.1.3之前的版本,key的生存时间可以被更新
语法
1 |
|
PERSIST
加入版本 2.2.0。
时间复杂度: O(1)。
移除给定key的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。
语法
1 |
|
TTL
加入版本 1.0.0。
时间复杂度: O(1)。
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
返回值
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。
语法
1 |
|
TYPE
加入版本 1.0.0。
时间复杂度: O(1)。
返回 key 所储存的值的类型。
返回值
- none (key不存在)
- string (字符串)
- list (列表)
- set (集合)
- zset (有序集)
- hash (哈希表)
语法
1 |
|
RANDOMKEY
加入版本 1.0.0。
时间复杂度: O(1)。
从当前数据库返回一个随机的key。
语法
1 |
|