Man*_*jan 4 key redis stackexchange.redis redis-cli
我可以使用连接的 redis-cli 复制密钥吗,redis 中是否有预定义的命令?
将 FSS_SYSAGENT 复制到 FSS_SYSAGENTDuplicate。
10.44.112.213:6403> hgetall FSS_SYSAGENT
1) "SYSTEM_01" 2) "{\"端口\":\"4407\",\"ipAddress\":\"10.44.112.213\",\"symbolicName\":\"SYSTEM_01\",\"eventLogEnabled \":\"1110\",\"status\":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命令将序列化的值恢复到另一个键。您可以将这两个步骤包装成一个 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
Run Code Online (Sandbox Code Playgroud)
使用 redis-cli 运行 Lua 脚本: ./redis-cli --eval duplicate.lua FSS_SYSAGENT FSS_SYSAGENTDuplicate ,
更新
从 Redis 6.2.0 开始,您可以使用COPY命令来完成这项工作。
| 归档时间: |
|
| 查看次数: |
6483 次 |
| 最近记录: |