- Redis键的基本操作
- Redis键的过期操作
- Redis键的序列化操作
- Redis键的排序操作
- Redis键的迁移操作
Redis键的基本操作
Redis键的键名查询
Redis键的类型查询
Redis键的重命名操作
Redis键的修改最后访问时间
Redis键的删除操作
命令名称:keys
语法: keys pattern
Pattern的用法:
?
* //全部
[ae]
[^ae]
[a-c]
功能:返回匹配模式的所有键名
命令名称:exists
语法: exists key [key ...]
功能:检查给定 key 是否存在
返回值:
1 代表存在
0 代表不存在
命令名称:scan
语法: scan cursor [MATCH pattern] [COUNT count]
示例: scan 0 match key* count 3
功能:SCAN 命令每次被调用之后, 都会向用户返回一个新的游标, 用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数, 以此来延续之前的迭代过程。
返回值:完整遍历的数据
命令名称:randomkey
语法: randomkey
功能:从当前数据库随机返回一个键名。
返回值:键名
命令名称:type
语法: type key
功能:查询键的类型
返回值:返回存储在键的值的类型的字符串表示形式。 可以返回的不同类型是:string,list,set,zset和hash。
命令名称:object
语法: object subcommand [arguments [arguments ...]]
功能:从内部察看给定 key 的 Redis 对象。
子命令:
object refcount <key>
object encoding <key>
object idletime<key>
返回值:
refcount 和 idletime返回数字 / encoding 返回相应的编码类型。
命令名称:rename
语法: rename key newkey
功能:将 key 改名为 newkey。
返回值:
当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。
当 newkey 已经存在时, rename 命令将覆盖旧值。
改名成功时提示 OK ,失败时候返回一个错误。
命令名称:renamenx
语法: renamenx key newkey
功能:当且仅当 newkey 不存在时,将 key 改名为 newkey 。
返回值:
当 key 不存在时,返回一个错误。
当修改成功时,返回 1 。
如果 newkey 已经存在,返回 0 。
命令名称:touch
语法: touch key [key ...]
功能:修改key的最后访问时间为当前时间。
返回值:返回设置成功的键的数量。
命令名称:del
语法: del key [key ...]
功能:删除指定的键。
返回值:返回删除的键的数量。
命令名称:unlink
语法: unlink key [key ...]
功能:非阻塞删除指定的键。
返回值:返回删除的键的数量。
Redis键的过期时长的设定
Redis键的过期时长的查询
Redis键的过期时长的取消
命令名称:expire
语法: expire key seconds
功能:为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
返回值:设置成功返回 1 ,否则返回 0 。
命令名称:expireat
语法: expireat key timestamp
功能:expireat 的作用和 expire类似,都用于为 key 设置生存时间。不同在于 expireat 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
返回值:
如果生存时间设置成功,返回 1 。
当 key 不存在或没办法设置生存时间,返回 0 。
命令名称:pexpire
语法: pexpire key milliseconds
功能:使用方法与 expire 一致,但是时间是毫秒。
返回值:设置成功返回 1 ,否则返回 0 。
命令名称:pexpireat
语法: pexpireat key milliseconds-timestamp
功能:与 expireat 使用方法一致,时间为时间戳毫秒。
返回值:
如果生存时间设置成功,返回 1 。
当 key 不存在或没办法设置生存时间,返回 0 。
命令名称:ttl
语法: ttl key
功能:以秒为单位,返回给定 key 的剩余生存时间(ttl, time to live)。
返回值:
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。
命令名称:pttl
语法: pttl key
功能:这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位。
返回值:
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以毫秒为单位,返回 key 的剩余生存时间。
命令名称:persist
语法: persist key
功能:移除给定 key 的生存时间,将这个 key 转换成持久的。
返回值:
当生存时间移除成功时,返回 1。
如果 key 不存在或 key 没有设置生存时间,返回 0。
Redis键的序列化操作
Redis键的反序列化及恢复操作
命令名称:dump
语法: dump key
功能:序列化给定 key ,并返回被序列化的值。序列化的值不包括任何生存时间信息。
返回值:
如果 key 不存在,那么返回 nil 。
否则,返回序列化之后的值。
命令名称:restore
语法: restore key ttl serialized-value [replace]
功能:反序列化给定的序列化值,并将它和给定的 key 关联。参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。
返回值:
如果反序列化成功那么返回 OK ,否则返回一个错误。
Redis键的排序操作
命令名称:sort
语法: sort key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]
功能:返回或保存给定列表、集合、有序集合 key 中经过排序的元素。排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。
返回值:
没有使用 STORE 参数,返回列表形式的排序结果。
使用 STORE 参数,返回排序结果的元素数量。
Redis单个实例内多库间的数据迁移操作
Redis多个实例间的数据迁移操作
命令名称:move
语法: move key db
功能:将当前数据库的 key 移动到给定的数据库 db 当中。如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
返回值:
移动成功返回 1 ,失败则返回 0 。
命令名称:migrate
语法: migrate host port key destination-db timeout [COPY] [REPLACE]
功能:将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删除。这个命令是一个原子操作,它在执行的时候会阻塞进行迁移的两个实例,直到以下任意结果发生:迁移成功,迁移失败,等待超时。
返回值:
迁移成功时返回 OK ,否则返回相应的错误。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。