09.Redis MIGRATE - 迁移key到指定数据库中
Redis MIGRATE - 语法
MIGRATE host port key|"" destination-db timeout [COPY] [REPLACE] [AUTH password|AUTH2 username password] [KEYS key [key ...]]
Redis MIGRATE命令,用于将指定key迁移到指定数据库中。将指定key从source-db转移到destination-db是原子性操作,一旦确定成功转移到目标数据库实例上,当前数据库实例上的key将立即被删除。
多个key的迁移可以通过"" destination-db timeout KEYS key1 key2 key3 ... pipelined进一个单一调用中。
timeout,毫秒单位,指定当前实例和目标实例进行通信的最大空闲时间。 这意味着操作并不一定要在timeout内完成,但是两者之间的数据传送时间不能超过这个timeout。
- COPY -- 不要删除当前实例上的key。
- REPLACE -- 替换目标实例上已经存在的key。
- KEYS -- 如果key参数为空字符串,该命令将迁移KEYS选项后的key列表。
Redis MIGRATE - 时间复杂度
这个命令在源实例上执行DUMP命令和DEL命令,在目标实例上执行RESTORE命令,具体复杂度看这3个命令。不过,key在两个实例之间传输的复杂度为 O(N) 。
Redis MIGRATE - 返回值
成功则返回OK,否则返回NOKEY。
Redis MIGRATE - 实例演示
redis> set site "www.cregend.com"
OK
redis> set user "cregend"
OK
redis> migrate 127.0.0.1 6380 site 0 5000
OK
redis> migrate 127.0.0.1 6380 "" 0 5000 keys user
OK
轻松一刻
👉👉👉 【武映三千道】教您最小成本化试错:大长腿、露香肩、会撒娇,女主美若天仙即可,其余皆可恐龙......