Redis admite una variedad de tipos de datos que le permiten almacenar y manipular diferentes tipos de datos. Los siguientes son los principales tipos de datos compatibles con Redis :
- Cadenas: el tipo de datos más básico, que puede almacenar texto o datos binarios. En Redis, la longitud máxima de una cadena es de 512 MB.
- Hashes: una colección de hashes utilizados para almacenar pares clave-valor. Cada hash puede contener múltiples campos y valores correspondientes, adecuados para almacenar objetos o datos asociativos.
- Listas: una lista ordenada de cadenas que permite la inserción y eliminación de elementos en ambos extremos de la lista. Se puede utilizar para implementar estructuras de datos como colas o pilas.
- Conjuntos: una colección desordenada de cadenas que no permiten elementos duplicados. Se pueden realizar operaciones de conjunto como unión, intersección y diferencia.
- Conjuntos ordenados: similares a los conjuntos, pero cada miembro está asociado con una puntuación (puntaje), que se puede usar para ordenar y clasificar. Los elementos de un conjunto ordenado son únicos, pero las puntuaciones pueden repetirse.
- Datos geoespaciales (GeoSpatial): un tipo de datos compatible con Redis 3.2 y superior, que se utiliza para almacenar información de ubicación geográfica y latitud y longitud, y admitir consultas de ubicación geográfica.
1 cuerda
# 设置字符串键 "username" 的值为 "Alice"
SET username "Alice"
# 获取字符串键 "username" 的值
GET username
# 输出: "Alice"
# 自增计数器 "visits"
INCR visits
# 输出: (当前计数值)
# 设置带有过期时间的缓存
SET user:1234 "{\"name\": \"Bob\", \"email\": \"[email protected]\"}" EX 3600
# 设置键 "user:1234" 的值为 JSON 格式的数据,并在 3600 秒后过期
# 获取缓存数据
GET user:1234
# 输出: "{\"name\": \"Bob\", \"email\": \"[email protected]\"}"
# 删除某一个键
# DEL key [key ...]
DEL username
# 设置某个键,让它在规定时间内消失
SETEX key seconds value
# 方式1
SETEX name 20 "Alice"
# 方式2
GETSET name "Alice"
EXPIRE name 20
comando de operación hash hash
- El valor del campo clave HSET significa: establecer el valor del campo en la clave de la tabla hash en valor
- El campo clave HGET significa: Obtener el valor almacenado en el campo especificado en la tabla hash
- El campo clave HDEL significa: eliminar el campo especificado almacenado en la tabla hash
- Clave HKEYS significa: Obtener todos los campos en la tabla hash
- Clave HVALS significa: Obtener todos los valores en la tabla hash
- Clave HGETALL significa: obtener todos los campos y valores de la clave especificada en la tabla hash
- El campo clave HEXISTS significa: verificar si existe el campo hash
- HSET: establece el valor de un campo hash.
HSET user:123 name "Alice"
Esto establecerá el valor del campo "nombre" en "Alice" en el hash llamado "usuario: 123".
2. HGET: Obtiene el valor del campo hash.
HGET user:123 name
Esto devolverá el valor del campo "nombre" en el hash "usuario: 123", que es "Alice".
- HMSET: Establecer múltiples campos hash y sus valores al mismo tiempo.
HMSET user:123 name "Alice" age 30 email "[email protected]"
Esto establecerá el campo "nombre" en "Alice", el campo "edad" en 30 y el campo "correo electrónico" en "[email protected]" en el hash "usuario: 123".
- HDEL: Eliminar uno o más campos hash.
HDEL user:123 email
Esto eliminará el campo "correo electrónico" y su valor correspondiente del hash "usuario: 123".
- HINCRBY: Realiza una operación de incremento en el valor de un campo hash.
HINCRBY user:123 age 5
Esto aumentará el valor del campo "edad" en el hash "usuario: 123" en 5.
- HLEN: Obtenga la cantidad de campos en el hash.
HLEN user:123
El comando de operación de la lista lista
- LPUSH key value1 [value2] Inserta uno o más valores al principio de la lista
- RPUSH key value1 inserta uno o más elementos al final de la lista
- Tecla LRANGE start stop Obtiene los elementos en el rango especificado en la lista
- La clave LLEN obtiene la longitud de la lista (es decir, la cantidad de elementos en la lista)
- La clave RPOP elimina y obtiene el último elemento de la lista
- La tecla LPOP elimina y devuelve el elemento principal de la lista
- Índice de clave LINDEX Obtiene el elemento en la posición de índice especificada en la lista
- Tecla LINSERT ANTES | DESPUÉS del valor pivote: inserta nuevos elementos antes o después del pivote del elemento especificado en la lista.
- Elemento de índice de clave LSET Establece el valor del elemento en la posición de índice especificada en la lista
LTRIM key start stop: mantenga los elementos dentro del rango especificado en la lista y se eliminarán otros elementos.
Tiempo de espera de la tecla BLPOP [tecla …]: elimina y devuelve de forma bloqueada los elementos principales de varias listas, o espera el tiempo de espera especificado si la lista está vacía.
Tiempo de espera de la tecla [tecla...] de BRPOP: elimina y devuelve de forma bloqueada los elementos finales de varias listas, o espera el tiempo de espera especificado si la lista está vacía.
Destino de origen RPOPLPUSH: elimine el elemento final de la lista de origen y agréguelo al encabezado de la lista de destino.
Elemento clave LPOS [RANK rank] [COUNT num]: Obtenga la posición de índice del elemento especificado en la lista. El parámetro opcional RANK se puede usar para especificar desde qué índice comenzar la búsqueda, y COUNT se puede usar para especificar la cantidad de elementos coincidentes que se devolverán.
LPUSH root_name zhs
LPUSH root_name wb
LPUSH root_name mhf
Ver los elementos de la gama
127.0.0.1:6379> LRANGE root_name 0 2
1) "mhf"
2) "wb"
3) "zhs"
operación de conjunto de colección
- Miembro clave SADD Agrega uno o más miembros al conjunto.
sadd myset a b c d
- La tecla SMEMBERS devuelve todos los miembros del conjunto.
smembers myset
- Tecla SCARD :
Devuelve el número de miembros del conjunto, que es la cardinalidad del conjunto.
scard myset
- SINTER key1 [key2] Devuelve la intersección de los conjuntos dados, es decir, devuelve los miembros que existen en todos los conjuntos al mismo tiempo
127.0.0.1:6379> sadd myset2 a f c
(integer) 3
127.0.0.1:6379> sinter myset myset2
1) "a"
2) "c"
- SUNION key1 [key2] devuelve la unión de conjuntos múltiples dados, es decir, devuelve los miembros únicos en todos los conjuntos
127.0.0.1:6379> sunion myset myset2
1) "c"
2) "d"
3) "b"
4) "f"
5) "a"
- SDIFF key1 [key1] Devuelve la diferencia de los conjuntos dados, es decir, devuelve los miembros que existen en el primer conjunto pero no en los otros conjuntos.
127.0.0.1:6379> sdiff myset myset2
1) "b"
2) "d"
- SREM key1 [key2] elimina uno o más miembros del conjunto.
127.0.0.1:6379> SREM myset a b
(integer) 2
Comando de operación de conjunto ordenado conjunto ordenado
Redis sorted set es una colección de elementos de tipo String y no permite miembros duplicados. Cada elemento irá asociado a una doble puntuación de tipo (score). Es a través de esta partitura que redis ordena los elementos del conjunto de pequeños a grandes.Los miembros del conjunto ordenado son únicos, pero las partituras pueden repetirse.
- Miembro de puntuación clave de ZADD [miembro de puntuación...]: agregue uno o más miembros y sus puntuaciones correspondientes al conjunto ordenado.
127.0.0.1:6379> zadd scores 100 "Alice" 85 "wb" 110 "zhs" 140 "cx"
(integer) 4
- Tecla ZCARD Obtiene el número de miembros del conjunto ordenado
ZCARD scores
- Obtener la puntuación del miembro especificado: miembro clave ZSCORE
ZSCORE scores "Charlie"
输出
127.0.0.1:6379> ZSCORE scores "zhs"
"110"
- El miembro de incremento de clave ZINCRBY aumenta la puntuación del miembro especificado
zincrby scores 10 "zhs"
"120"
- Miembro clave ZREVRANK Obtiene el rango del miembro especificado en el conjunto ordenado (ordenado por puntaje de mayor a menor):
127.0.0.1:6379> zrevrank scores "zhs"
(integer) 1
6. Eliminar miembros del conjunto ordenado: miembro clave ZREM
127.0.0.1:6379> zrem score "wb"
(integer) 0
Redis comandos comunes
- Patrón de CLAVES Ver todos los elegibles
- EXISTS key comprueba si la clave dada existe
- La tecla TYPE devuelve el tipo almacenado por la tecla
- tecla DEL borrar tecla