我可以使用连接的redis-cli复制密钥吗,redis中是否预定义了任何命令?
将FSS_SYSAGENT复制到FSS_SYSAGENTDuplicate。
10.44.112.213:6403> hgetall FSS_SYSAGENT
1)“ SYSTEM_01” 2)“ {\” port \“:\” 4407 \“,\” ipAddress \“:\” 10.44.112.213 \“,\” symbolicName \“:\” SYSTEM_01 \“,\” eventLogEnabled \“:\” 1110 \“,\”状态\“:1,\” wcPort \“:\” 6029 \“,\” activeSystem \“:\” N \“,\” createdBy \“:\” \ “,\” createdDate \“:\” 2018-11-20 13:11:16 \“,\” modifiedBy \“:\” \“,\” modifiedDate \“:\” \“,\”机构\“ :\“ FSS \”,\“ delFlag \”:0,\“ accessID \”:0,\“ rowCount \”:0,\“ endCount \”:0}“
您可以使用DUMP和RESTORE命令来复制密钥:
DUMP
RESTORE
您可以将以下两个步骤包装到Lua脚本中:
-- duplicate.lua local src = KEYS[1] local dest = KEYS[2] local val = redis.call('DUMP', src) if val == false then return 0 else -- with RESTORE command, you can also set TTL for the new key, and use the [REPLACE] option to set the new key forcefully. redis.call('RESTORE', dest, 0, val) return 1 end
使用redis-cli运行Lua脚本: ./redis-cli --eval duplicate.lua FSS_SYSAGENT FSS_SYSAGENTDuplicate ,
./redis-cli --eval duplicate.lua FSS_SYSAGENT FSS_SYSAGENTDuplicate ,