Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Duplicar uma chave no redis


Você pode usar os comandos DUMP e RESTORE para duplicar a chave:
  1. use o DUMP comando para serializar o valor de uma chave.
  2. use o RESTORE comando para restaurar o valor serializado para outra chave.

Você pode envolver essas duas etapas em um script 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

Execute o script Lua com redis-cli:./redis-cli --eval duplicate.lua FSS_SYSAGENT FSS_SYSAGENTDuplicate ,

ATUALIZAÇÃO

Desde o Redis 6.2.0, você pode usar o comando COPY para fazer o trabalho.