key相关

多练

key
http://redisdoc.com/key/
del key [key ...]
删除给定的一个或多个 key 。
不存在的 key 会被忽略。
序列化给定 key ,并返回被序列化的值,使用 restore 命令可以将这个值反序列化为 redis 键。
序列化的值不包括任何生存时间信息。
dump key
序列化给定 key ,并返回被序列化的值,使用 restore 命令可以将这个值反序列化为 redis 键。
exists key
检查给定 key 是否存在。若 key 存在,返回 1 ,否则返回 0 。
expire key seconds
为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
在 redis 中,带有生存时间的 key 被称为『易失的』(volatile)。
expireat key timestamp
expireat 的作用和 expire 类似,都用于为 key 设置生存时间。
不同在于 expireat 命令接受的时间参数是 unix 时间戳(unix timestamp)。
keys pattern
查找所有符合给定模式 pattern 的 key 。
keys * 匹配数据库中所有 key 。
keys h?llo 匹配 hello , hallo 和 hxllo 等。
keys h*llo 匹配 hllo 和 heeeeello 等。
keys h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
特殊符号用 \ 隔开
migrate host port key destination-db timeout [copy] [replace]
将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删除。
这个命令是一个原子操作,它在执行的时候会阻塞进行迁移的两个实例,直到以下任意结果发生:迁移成功,迁移失败,等待超时。
命令的内部实现是这样的:它在当前实例对给定 key 执行 DUMP 命令 ,将它序列化,然后传送到目标实例,目标实例再使用 RESTORE 对数据进行反序列化,并将反序列化所得的数据添加到数据库中;当前实例就像目标实例的客户端那样,只要看到 RESTORE 命令返回 OK ,它就会调用 DEL 删除自己数据库上的 key 。
timeout 参数以毫秒为格式,指定当前实例和目标实例进行沟通的最大间隔时间。这说明操作并不一定要在 timeout 毫秒内完成,只是说数据传送的时间不能超过这个 timeout 数。
SET greeting "Hello from 6379 instance"
MIGRATE 127.0.0.1 7777 greeting 0 1000
move key db
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 move 没有任何效果。
因此,也可以利用这一特性,将 move 当作锁(locking)原语(primitive)。
移动成功返回 1 ,失败则返回 0 。
SET song "secret base - Zone"
MOVE song 1 
object subcommand [arguments [arguments]]
object 命令允许从内部察看给定 key 的 redis 对象。
它通常用在除错(debugging)或者了解为了节省空间而对 key 使用特殊编码的情况。
当将redis用作缓存程序时,你也可以通过 object 命令中的信息,决定 key 的驱逐策略(eviction policies)。
object 命令有多个子命令:
object refcount <key> 返回给定 key 引用所储存的值的次数。此命令主要用于除错。
SET game "COD"   OBJECT REFCOUNT game 
object encoding <key> 返回给定 key 锁储存的值所使用的内部表示(representation)。
object idletime <key> 返回给定 key 自储存以来的空闲时间(idle, 没有被读取也没有被写入),以秒为单位。
persist key
移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。
pexpire key milliseconds
这个命令和 expire 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 expire 命令那样,以秒为单位。
pexpireat key milliseconds-timestamp
这个命令和 expireat 命令类似,但它以毫秒为单位设置 key 的过期 unix 时间戳,而不是像 expireat 那样,以秒为单位
pttl key
这个命令类似于 ttl 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 ttl 命令那样,以秒为单位。
randomkey
从当前数据库中随机返回(不删除)一个 key 。
rename key newkey
将 key 改名为 newkey 。
当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。
当 newkey 已经存在时, RENAME 命令将覆盖旧值。
renamenx key newkey
当且仅当 newkey 不存在时,将 key 改名为 newkey 。当 key 不存在时,返回一个错误。
restore key ttl serialized-value [replace]
反序列化给定的序列化值,并将它和给定的 key 关联。
# 创建一个键,作为 DUMP 命令的输入
redis> SET greeting "hello, dumping world!"
OK
redis> DUMP greeting
"\x00\x15hello, dumping world!\x06\x00E\xa0Z\x82\xd8r\xc1\xde"
# 将序列化数据 RESTORE 到另一个键上面
redis> RESTORE greeting-again 0 "\x00\x15hello, dumping world!\x06\x00E\xa0Z\x82\xd8r\xc1\xde"
OK
redis> GET greeting-again
"hello, dumping world!"
sort key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc | desc] [alpha] [store destination]
返回或保存给定列表、集合、有序集合 key 中经过排序的元素。
排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。
SORT key 返回键值从小到大排序的结果。
SORT key DESC 返回键值从大到小排序的结果
ttl key
以秒为单位,返回给定 key 的剩余生存时间(ttl, time to live)。
type key
返回 key 所储存的值的类型。
返回值:
none (key不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)
scan cursor [match pattern] [count count]
scan 命令及其相关的 sscan 命令、 hscan 命令和 zscan 命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements):
scan 命令用于迭代当前数据库中的数据库键。
sscan 命令用于迭代集合键中的元素。
hscan 命令用于迭代哈希键中的键值对。
zscan 命令用于迭代有序集合中的元素(包括元素成员和元素分值)。

猜你喜欢

转载自blog.csdn.net/uotail/article/details/80230136
key