Comandos Generales de Redis
Visualización de claves
KEYS * - Muestra todas las claves existentes en la base de datos
Búsqueda de claves por patrones
Buscar claves que comienzan con 's':
127.0.0.1:6379> KEYS s*
1) "datos3"
2) "ordenar1"
3) "datos2"
4) "datos1"
127.0.0.1:6379> KEYS s*1
1) "ordenar1"
2) "datos1"
Buscar claves con 's' seguido de exactamente un carácter:
127.0.0.1:6379> KEYS s?
1) "s1"
Eliminación de claves
DEL - Elimina una o más claves especificadas
Verificación de existencia de claves
EXISTS - Devuelve 1 si la clave existe, 0 si no existe
127.0.0.1:6379> EXISTS s1
(integer) 1
127.0.0.1:6379> EXISTS clave_inexistente
(integer) 0
Obtención de valores
GET - Recupera el valor de una clave de tipo string
127.0.0.1:6379> LRANGE lista1 0 -1
1) "b"
2) "a"
127.0.0.1:6379> GET lista1
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> GET s1
"123456"
Renombrado de claves
RENAME - Cambia el nombre de una clave existente
127.0.0.1:6379> GET s1
"123456"
127.0.0.1:6379> RENAME s1 s1_nuevo
OK
127.0.0.1:6379> GET s1_nuevo
"123456"
127.0.0.1:6379> GET s1
(nil)
Configuración de tiempo de expiración
EXPIRE - Establece un tiempo de expiración en segundos para una clave
TTL - Muestra el tiempo de vida restante en segundos de una clave
127.0.0.1:6379> EXPIRE s1_nuevo 120
(integer) 1
127.0.0.1:6379> TTL s1_nuevo
(integer) 113
Identificación del tipo de dato
TYPE - Devuelve el tipo de dato almacenado en la clave
127.0.0.1:6379> TYPE nombre
string
127.0.0.1:6379> TYPE lista2
list
127.0.0.1:6379> TYPE conjunto3
set
127.0.0.1:6379> TYPE ordenado1
zset
127.0.0.1:6379> TYPE r1
set
127.0.0.1:6379> TYPE estudiante
hash
Configuración de Redis
CONFIG GET * - Muestra todas las configuraciones de Redis:
127.0.0.1:6379> CONFIG GET *
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
4) ""
5) "masterauth"
6) ""
7) "unixsocket"
8) ""
9) "logfile"
10) ""
11) "pidfile"
12) ""
13) "maxmemory"
14) "1024000000"
15) "maxmemory-samples"
16) "5"
17) "timeout"
CONFIG GET [parámetro] - Muestra una configuración específica:
127.0.0.1:6379> CONFIG GET protected-mode
1) "protected-mode"
2) "yes"
Comandos SET especiales
SETNX (Set if Not Exists)
Establece un valor para una clave solo si esta no existe previamente.
Sintaxis: SETNX NOMBRE_CLAVE VALOR
Devuelve: 1 si se estableció correctamente, 0 si la clave ya existía.
redis> EXISTS puesto # El puesto no existe
(integer) 0
redis> SETNX puesto "desarrollador" # El puesto se establece correctamente
(integer) 1
redis> SETNX puesto "ingeniero" # Intento de sobrescribir el puesto, falla
(integer) 0
redis> GET puesto # No se sobrescribió
"desarrollador"
SETEX (Set with Expiration)
Establece un valor para una clave junto con un tiempo de expiración. Si la clave ya existe, SETEX reemplazará el valer existente.
Sintaxis: SETEX NOMBRE_CLAVE TIEMPO_VALOR VALOR
redis 127.0.0.1:6379> SETEX mi_clave 60 redis
OK
redis 127.0.0.1:6379> TTL mi_clave
60
redis 127.0.0.1:6379> GET mi_clave
"redis"
PEXPIRE (Expire in Milliseconds)
Establece un tiempo de expiración en milisegundos para una clave.
Sintaxis: PEXPIRE NOMBRE_CLAVE MILISEGUNDOS
Devuelve: 1 si se estableció correctamente, 0 si la clave no existe o no se pudo establecer.
Para verificar el tiempo de expiración restante:
TTL mi_clave # Devuelve tiempo restante en segundos
PTTL mi_clave # Devuelve tiempo restante en milisegundos
Diferencia entre EXPIRE y PEXPIRE:
- EXPIRE: Establece el tiempo de expiración en segundos.
- PEXPIRE: Establece el tiempo de expiración en milisegundos, con mayor precisión.