Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Duplizieren Sie einen Schlüssel in redis

Sie können die Befehle DUMP und RESTORE verwenden, um den Schlüssel zu duplizieren:

  1. benutze den DUMP Befehl, um den Wert eines Schlüssels zu serialisieren.
  2. benutze den RESTORE Befehl, um den serialisierten Wert auf einem anderen Schlüssel wiederherzustellen.

Sie können diese beiden Schritte in ein Lua-Skript packen:

-- 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

Führen Sie das Lua-Skript mit redis-cli aus:./redis-cli --eval duplicate.lua FSS_SYSAGENT FSS_SYSAGENTDuplicate ,

AKTUALISIEREN

Seit Redis 6.2.0 können Sie den COPY-Befehl verwenden, um die Aufgabe zu erledigen.