- 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,否则返回相应的错误。