2.3.2 - Keys
Ara anem a veure comandos que ens permeten treballar amb les claus, per a buscar-les, veure si existeixen, etc. No importarà el tipus de les claus (de moment només hem treballat amb claus de tipus String, però si ja en tinguérem dels altres tipus també es veurien afectades). En cap cas d'aquestos comandos accedirem al valor de les claus.
La llista de comandos de claus que veurem és:
keys , exists , del , type , rename , renamenx , expire , pexpire , ttl , pttl , persist
Sintaxi
keys patró
Torna totes les claus que coincideixen amb el patró. En el patró podem posar caràcters comodí:
- * : equival a 0 o més caràcters. Per exemple "Mar*a" podria tornar "Mara", "Maria", "Marta", "Margarita", ...
- ? : equival exactament a un caràcter. Per exemple "Mar?a" podria tornar "Maria" o "Marta", però no "Mara", "Margarita", ...
- [ab] : serà cert si en el lloc corresponent hi ha un dels caràcters especificats entre els claudàtors. Per exemple "Mar[it]a" podria tornar "Maria" o "Marta", però no "Marga"
Per a tornar totes les claus utilitzarem keys *
127.0.0.1:6379> keys *
1) "mes3"
2) "salutacio"
3) "pi"
4) "clau_4"
5) "compt2"
6) "mes6"
7) "mes1"
8) "mes4"
9) "clau_1"
10) "compt3"
11) "quatre"
12) "mes7"
13) "mes2"
14) "mes5"
15) "compt1"
16) "clau_2"
17) "text"
127.0.0.1:6379> keys mes?
1) "mes5"
2) "mes3"
3) "mes7"
4) "mes2"
5) "mes6"
6) "mes4"
7) "mes1"
127.0.0.1:6379> keys c*
1) "clau_4"
2) "compt2"
3) "clau_1"
4) "compt3"
5) "compt1"
6) "clau_2"
127.0.0.1:6379> keys mes[125]
1) "mes5"
2) "mes2"
3) "mes1"
Nota
L'ordre en el qual es mostraran les claus no té per què ser igual per a tots nosaltres. Él més normal és que cadascú de nosaltres tinga un ordre diferent. Açò té a veure amb els conjunts (set), un tipus de dades que veurem més avant.
Sintaxi
del clau1 clau2 clauN
Elimina la clau o claus especificades. Si posem més d'una clau i alguna no existeix, la ignorarà i sí que esborrarà les altres.
127.0.0.1:6379> del compt2
(integer) 1
127.0.0.1:6379> del mes6 mes7 mes8 mes9
(integer) 2
Observeu que ens indica quantes claus ha esborrat. En el primer exemple ha esborrat la clau especificada, i en el segon diu que ha esborrat 2, que seran mes6 i mes7, ja que mes8 i mes9 no existien.
Sintaxi
rename clau novaclau
Canvia el nom de la clau a la clau nova, conservant el valor. Dóna error si la clau antiga no existeix. Si la clau nova ja existia reemplaçarà el seu valor.
Exemples
127.0.0.1:6379> get salutacio
"Hola. Com va?"
127.0.0.1:6379> rename salutacio saludar
OK
127.0.0.1:6379> get salutacio
(nil)
127.0.0.1:6379> get saludar
"Hola. Com va?"
127.0.0.1:6379> rename clau_22 clau_23
(error) ERR no such key
Sintaxi
expire clau segons
Assigna com a temps d'expiració de la clau els segons especificats. Si ja tenia temps d'expiració, el modifica posant-li aquest valor especificat.
En cas que a una clau amb temps d'expiració li canviem el nom amb RENAME, continuarà amb temps d'expiració que li quedava.
Sintaxi
ttl clau
Torna el temps de vida (fins l'expiració) d'una clau. Si la clau no té temps d'expiració, torna -1.
Exemples
127.0.0.1:6379> expire compt3 10
(integer) 1
127.0.0.1:6379> ttl compt3
(integer) 6
127.0.0.1:6379> ttl compt3
(integer) 3
127.0.0.1:6379> ttl compt3
(integer) 0
127.0.0.1:6379> get compt3
(nil)
Sintaxi
persist clau
Elimina el temps d'expiració d'una clau, si és que en tenia. Ara la clau no expirarà mai.
Exemples
127.0.0.1:6379> expire compt1 20
(integer) 1
127.0.0.1:6379> ttl compt1
(integer) 12
127.0.0.1:6379> ttl compt1
(integer) 7
127.0.0.1:6379> persist compt1
(integer) 1
127.0.0.1:6379> ttl compt1
(integer) -1
127.0.0.1:6379> get compt1
"9"
Llicenciat sota la Llicència Creative Commons Reconeixement SenseObraDerivada 4.0