@mritd
2016-01-27T12:07:37.000000Z
字数 1511
阅读 2013
Redis
参考自 Redis官方文档(中文版)
加入版本 1.0.0。
时间复杂度: O(N),N 为数据库中 key 的数量。查找所有符合给定模式
pattern
的key
。特殊符号用\
隔开。
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 来代替。
加入版本 1.0.0。
时间复杂度: O(n)N为要移除的key的数量。移除单个字符串类型的key,时间复杂度为O(1)。移除单个列表、集合、有序集合或哈希表类型的key,时间复杂度为O(M),M为以上数据结构内的元素数量。如果删除的key不存在,则直接忽略。返回被删除的keys的数量,Key 不存在返回0
语法
DEL KEY [KEY ...]
加入版本 1.0.0。
时间复杂度: O(1)。
返回key是否存在。如果key存在返回 1 ;如果key不存在 返回 0。
语法
EXISTS KEY
加入版本 1.0.0。
时间复杂度: O(1)。
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。因此,也可以利用这一特性,将 MOVE 当作锁(locking)原语(primitive)。
语法
MOVE KEY DBNAME
加入版本 1.0.0。
时间复杂度: O(1)。
将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。
语法
RENAME OLDKEYNAME NEWKEYNAME
加入版本 1.0.0。
时间复杂度: O(1)。
当且仅当 newkey 不存在时,将 key 改名为 newkey 。当 key 不存在时,返回一个错误。
语法
RENAMENX OLDKEYNAME NEWKEYNAME
加入版本 1.0.0。
时间复杂度: O(1)。
设置key的过期时间。如果key已过期,将会被自动删除。设置了过期时间的key被称之为volatile。在key过期之前可以重新更新他的过期时间,也可以使用PERSIST命令删除key的过期时间。
在Redis< 2.1.3之前的版本,key的生存时间可以被更新
语法
EXPIRE KEY SECONDS
加入版本 2.2.0。
时间复杂度: O(1)。
移除给定key的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。
语法
PERSIST KEY
加入版本 1.0.0。
时间复杂度: O(1)。
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
返回值
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。
语法
TTL KEY
加入版本 1.0.0。
时间复杂度: O(1)。
返回 key 所储存的值的类型。
返回值
语法
TYPE KEY
加入版本 1.0.0。
时间复杂度: O(1)。
从当前数据库返回一个随机的key。
语法
RANDOMKEY