rename key newKey
// 注意rename 时如果newKey 存在的话, 会覆盖
renamenx key newKey
renamenx 保证了只有在newKey 不存在的时候才会被重命名成功
// rename 非原子操作, 先删除旧健, 在新增新建
randomkey
dbsize count 有多少健
randomkey 随机返回一个健
expire key seconds. 健在多少秒过期
expireat key timestamp 健在秒级“时间戳” 后过期
ttl key 查询key 的有效时间
ttl 与pttl 都可以查询剩余时间, pttl精度更高, 可以达到毫秒级的
// 返回大于0 的整数, 即剩余时间
// 返回-1 没有设置过期时间
// 返回-2 已过期, 健不存在
move key db
// move 主要在redis内部运用, 在redis 内部有多个数据库, move 的作用就是把key 从源数据库移到目标数据库。
dump key
restore key ttl value
// 可以在不同的redis 实例之间做数据迁移:
// 在源redis上, dump 命令会将键值序列化, 采取的方式就是rdb格式
// 在目标redis上, restore 命令将上面的序列化的值进行复原, 其中ttl参数代表过期时间, 如果ttl = 0代表没有设置过期时间
// 要注意:
// 整个过程非原子性的
// 整个过程开启了源Redis和目标Redis的传输在源redis上执行
set key value
dump key 在目标redis上执行
restore key ttl value
migrate host port key | “” destination-db timeout [copy] [replace] [keys key key…]
migrate 也是数据库之间进行的数据迁移, 是将dump, restore, del命令三者结合, 同时具有原子性。
migrate 127.0.0.1 6380 hello 0 1000
//源redis 6379。 目标: 6380, 将6379的hello健迁移到6380上, 同超时时间为1000毫秒
scan cursor [match pattern ] [count number] 可以做分页
scan 0
结果为两部分:
第一部分: 下次cursor 的值
第二部分: 返回本次的健
清除数据库 谨慎使用, 特别是生产