沃梦达 / IT编程 / 数据库 / 正文

Redis键过期和键迁移

键过期命令expire key secondsexpireat key timestampttl keypttl keypexpire key millisecondspexpire key milliseconds-timestampsetex命令=set+expire的组合,不但是原子执行,同时减少了一次网络通讯的时...

键过期命令

expire key seconds
expireat key timestamp
ttl key
pttl key
pexpire key milliseconds
pexpire key milliseconds-timestamp
setex命令=set+expire的组合,不但是原子执行,同时减少了一次网络通讯的时间

键迁移

把部分数据从一个Redis实例迁移到另一个Redis(例如从生产环境迁移到测试环境)

  • dump+restore
    dump key
    restore key ttl value
    dump+restore可以实现在不同的Redis实例之间进行数据迁移的功能,整个迁移分为两步:
    在源Redis上dump命令会将键值序列化,格式采用RDB格式
    在目标Redis上,restore命令将上面序列化的值进行复原,其中ttl参数代表过期时间,ttl=0代表没有过期时间
    注意:
    整个迁移过程不是原子性的,而是通过客户端分步完成
    迁移过程是开启了两个客户端连接,所以dump的结果不是在源Redis和目标Redis之间进行传输
  • migrate
    migrate host port key|"" destination-db timeout [copy] [replace] [keys key [key…]]
    migrate命令实际上是由dump+restore+del三个命令组合而成,简化操作流程,而且具有原子性,支持迁移多个键,提高了迁移效率,migrate在水平扩容中起到重要作用

本文标题为:Redis键过期和键迁移