- Redis键的基本操作
- Redis键的过期操作
- Redis键的序列化操作
- Redis键的排序操作
- Redis键的迁移操作
Redis键的基本操作
Redis键的键名查询Redis键的类型查询Redis键的重命名操作Redis键的修改最后访问时间Redis键的删除操作
命令名称:keys
语法: keys patternPattern的用法:?* //全部[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 ,否则返回相应的错误。