Redis Key 常用命令

hexo_redis_logo

参考自 Redis官方文档(中文版)

KEYS

加入版本 1.0.0。
时间复杂度: O(N),N 为数据库中 key 的数量。

查找所有符合给定模式 patternkey。特殊符号用 \ 隔开。

1
2
3
4
KEYS *          # 匹配数据库中所有 key 。
KEYS h?llo # 匹配 hello , hallo 和 hxllo 等。
KEYS h*llo # 匹配 hllo 和 heeeeello 等。
KEYS h[ae]llo # 匹配 hello 和 hallo ,但不匹配 hillo 。

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
DEL KEY [KEY ...]

EXISTS

加入版本 1.0.0。
时间复杂度: O(1)。
返回key是否存在。如果key存在返回 1 ;如果key不存在 返回 0。

语法

1
EXISTS KEY

MOVE

加入版本 1.0.0。
时间复杂度: O(1)。
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。因此,也可以利用这一特性,将 MOVE 当作锁(locking)原语(primitive)。

语法

1
MOVE KEY DBNAME

RENAME

加入版本 1.0.0。
时间复杂度: O(1)。
将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。

语法

1
RENAME OLDKEYNAME NEWKEYNAME

RENAMENX

加入版本 1.0.0。
时间复杂度: O(1)。
当且仅当 newkey 不存在时,将 key 改名为 newkey 。当 key 不存在时,返回一个错误。

语法

1
RENAMENX OLDKEYNAME NEWKEYNAME

EXPIRE

加入版本 1.0.0。
时间复杂度: O(1)。
设置key的过期时间。如果key已过期,将会被自动删除。设置了过期时间的key被称之为volatile。在key过期之前可以重新更新他的过期时间,也可以使用PERSIST命令删除key的过期时间。
在Redis< 2.1.3之前的版本,key的生存时间可以被更新

语法

1
EXPIRE KEY SECONDS

PERSIST

加入版本 2.2.0。
时间复杂度: O(1)。
移除给定key的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。

语法

1
PERSIST KEY

TTL

加入版本 1.0.0。
时间复杂度: O(1)。
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。

返回值

当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。

语法

1
TTL KEY

TYPE

加入版本 1.0.0。
时间复杂度: O(1)。
返回 key 所储存的值的类型。

返回值

  • none (key不存在)
  • string (字符串)
  • list (列表)
  • set (集合)
  • zset (有序集)
  • hash (哈希表)

语法

1
TYPE KEY

RANDOMKEY

加入版本 1.0.0。
时间复杂度: O(1)。
从当前数据库返回一个随机的key。

语法

1
RANDOMKEY

Redis Key 常用命令
https://mritd.com/2016/01/24/redis-key-common-command/
作者
Kovacs
发布于
2016年1月24日
许可协议