COPY în Redis & In-Memory Data Store

Copiază valoarea unei chei (de orice tip) la o cheie nouă, opțional în altă bază de date.

Sintaxă comandă
COPY source destination [DB destination-db] [REPLACE]

Ce face COPY

COPY (din Redis 6.2.0) face o copie completă a cheii source la destination, inclusiv expirarea. Funcționează pentru orice tip: string, hash, listă, set, zset, stream.

Implicit nu suprascrie o destinație existentă; cu REPLACE o înlocuiește. Cu DB copiezi cheia în altă bază de date numerotată de pe același server.

Parametri

Parametru Descriere
source Cheia de copiat.
destination Cheia nouă.
DB destination-db Numărul bazei de date de destinație (implicit baza curentă).
REPLACE Suprascrie destinația dacă există.

Ce returnează

1 dacă s-a copiat, 0 dacă nu (de exemplu destinația există și lipsește REPLACE).

Exemple

Exemplul 1: Copie de siguranță înaintea unei modificări

Al doilea COPY întoarce 0 pentru că destinația există; cu REPLACE reușește.

HSET pret:produse caiet 12 pix 4
COPY pret:produse pret:produse:backup
COPY pret:produse pret:produse:backup
COPY pret:produse pret:produse:backup REPLACE

Ieșire în redis-cli

127.0.0.1:6379> HSET pret:produse caiet 12 pix 4
(integer) 2
127.0.0.1:6379> COPY pret:produse pret:produse:backup
(integer) 1
127.0.0.1:6379> COPY pret:produse pret:produse:backup
(integer) 0
127.0.0.1:6379> COPY pret:produse pret:produse:backup REPLACE
(integer) 1

Exemplul 2: Copiere în baza de date 1

Utilă ca să pregătești date de test fără să atingi baza principală.

COPY pret:produse pret:produse DB 1

Ieșire în redis-cli

127.0.0.1:6379> COPY pret:produse pret:produse DB 1
(integer) 1

Greșeli frecvente

  • COPY pe o cheie foarte mare copiază toate elementele și poate bloca serverul o perioadă.
  • Opțiunea DB nu funcționează în Redis Cluster, unde există doar baza 0.

Comenzi înrudite

  • RENAME / RENAMENX: Redenumește o cheie; RENAMENX o redenumește doar dacă numele nou nu este deja folosit.
  • TYPE: Arată tipul valorii unei chei: string, list, set, zset, hash, stream sau none dacă nu există.
  • EXISTS: Verifică dacă una sau mai multe chei există și întoarce câte dintre ele au fost găsite.