Los cinco tipos de datos básicos de Redis relacionados con el conocimiento y los comandos de shell
- 1. Introducción
- 2. Comandos básicos de shell de RedisKey
-
- 1. Ver todas las claves
- 2. Asigne un valor al valor clave especificado
- 3. Obtenga el valor de la clave.
- 4. Determinar si la clave actual existe.
- 5. Eliminar la clave actual
- 6. Establecer el tiempo de vencimiento de la clave, en segundos.
- 7. Ver el tiempo restante de la clave actual.
- 8. Ver el tipo de clave actual.
- Tres, comando de shell de tipo de datos de cadena
-
- 1. Operaciones de cadena
- 2. Operación de datos
-
- 2.1 Incrementar en uno
- 2.2 Disminución en uno
- 2.3 Establecer el tamaño del paso y especificar el incremento
- 2.4 Establecer el tiempo de vencimiento
- 2.5 Establecer solo si no existe
- 2.6 Establecer múltiples valores al mismo tiempo
- 2.7 Obtener múltiples valores al mismo tiempo
- 2.8 Cuando hay varias asignaciones, configúrelo solo si no existe
- 3. Objeto
- 4. Escenarios de uso
- 4. Listar el comando de shell del tipo de datos
-
- 1. Introducción
- 2. Operación de lista
-
- 2.1 Insertar un valor o varios valores en el encabezado de la lista (izquierda)
- 2.2 Insertar un valor o varios valores al final de la lista (derecha)
- 2.3 Obtener valores específicos a través de intervalos
- 2.4 Obtener todos los valores de la lista.
- 2.5 Eliminar el primer elemento de la lista.
- 2.6 Eliminar el último elemento de una lista
- 3. Operación de subíndice
-
- 3.1 Obtener un valor en la lista por subíndice
- 3.2 Devolver la longitud de la lista
- 3.3 Eliminar el número especificado de valores en el conjunto de listas (coincidencia exacta)
- 3.4 Intercepta la longitud especificada por subíndice. (la lista cambia y solo se truncan los elementos interceptados)
- 3.5 Eliminar el último elemento de la lista y moverlo a una nueva lista
- 3.6 Reemplazar el valor del subíndice especificado en la lista con otro valor (operación de actualización)
- 4. Insertar operación
- 5. Presta atención
- Cinco, colección Set.
-
- 1. Establecer operaciones relacionadas con la colección
-
- 1.1 Agregar datos a la colección establecida
- 1.2 Ver todos los valores de la colección establecida
- 1.3 Determinar si un valor está en la colección establecida
- 1.4 Obtener la cantidad de elementos de contenido en la colección establecida
- 1.5 Eliminar el elemento especificado en la colección de conjuntos
- 2. Operación aleatoria
- 3. Mover un valor específico a otra colección de conjuntos
- 4. Operaciones de cobranza
- 6. Datos de tipo hash
-
- 1. Introducción
- 2. Operación básica de hash
-
- 2.1 establecer un valor clave específico
- 2.2 Obtener un valor de campo
- 2.3 establecer múltiples valores clave-valor
- 2.4 Obtener múltiples valores de campo
- 2.5 Obtener todos los datos
- 2.6 Eliminar el valor clave especificado por hash
- 2.7 Obtener la cantidad de campos en la tabla hash
- 2.8 Determinar si el campo especificado en el hash existe
- 2.9 Obtener solo todos los valores clave
- 2.10 Obtener solo todos los valores
- 3. Manipulación de datos
- Seven, Zset (colección ordenada)
-
- 1. Introducción
- 2. Operación básica
- 3. Operación de clasificación
-
- 3.1 Mostrar todos los usuarios, de pequeños a grandes (ordenar por puntuación si no se conocen los valores mínimo y máximo del rango)
- 3.2 Mostrar todos los usuarios, de mayor a menor
- 3.3 Mostrar todos los usuarios con calificaciones
- 3.4 Mostrar el orden ascendente de los empleados cuyo salario es inferior a 2500 (cuando un determinado valor se conoce como el valor máximo del rango)
- 4. Establecer operación
1. Introducción
Citando un párrafo en el sitio web oficial de Redis, Redis es un sistema de almacenamiento de estructura de datos en memoria de código abierto (con licencia BSD) que se puede utilizar como base de datos, caché y middleware de mensajes. Admite muchos tipos de estructuras de datos, como cadenas, hashes, listas, conjuntos, conjuntos ordenados con consultas de rango, mapas de bits, hiperloglogs y consultas de radio de índice geoespacial (geoespacial). Redis tiene replicación incorporada (replicación), secuencias de comandos LUA (secuencias de comandos Lua), eventos de controlador LRU (desalojo LRU), transacciones (transacciones) y diferentes niveles de persistencia del disco (persistencia), y a través de Redis Sentinel (Sentinel) y partición automática ( Cluster ) proporciona alta disponibilidad (alta disponibilidad)
2. Comandos básicos de shell de RedisKey
1. Ver todas las claves
keys *
2. Asigne un valor al valor clave especificado
set key值 value值
Por ejemplo
set name xg
3. Obtenga el valor de la clave.
get key值
Por ejemplo
get name
4. Determinar si la clave actual existe.
exists key值
Por ejemplo
exists name
5. Eliminar la clave actual
move key值 1
Por ejemplo
move name 1
6. Establecer el tiempo de vencimiento de la clave, en segundos.
expire key值 10
Por ejemplo
expire age 10
7. Ver el tiempo restante de la clave actual.
ttl key值
Por ejemplo
ttl age
8. Ver el tipo de clave actual.
type key值
Por ejemplo
type age
Tres, comando de shell de tipo de datos de cadena
1. Operaciones de cadena
1.1 Agregue una cadena, si la clave actual no existe, es equivalente a setkey
append key值 "value值"
Por ejemplo
append name zhangsan
或者
append name "zhangsan"
1.2 Obtener la longitud de la cuerda
strlen key值
Por ejemplo
strlen name
1.3 Alcance de la cadena
(1) Intercepta la cadena de 0 a 3, intervalo cerrado [0, 3]
getrange key值 起始位置 终止位置
Por ejemplo
getrange name 0 3
(2) Obtener la cadena
getrange key值 0 -1
Por ejemplo
getrange name 0 -1
1.4 Reemplazar la cuerda comenzando en la posición especificada
setrange key值 2 字符串
Por ejemplo
setrange name 2 wee
2. Operación de datos
2.1 Incrementar en uno
incr key值
Por ejemplo
incr age
2.2 Disminución en uno
decr key值
Por ejemplo
decr age
2.3 Establecer el tamaño del paso y especificar el incremento
Después de su uso, el valor original se incrementará en 10
incrby key值 步长值
Por ejemplo
incrby age 10
2.4 Establecer el tiempo de vencimiento
Establezca el valor de la clave en xxx y caduque después de 30 segundos.
setex key值 时间值 "value值"
Por ejemplo
setex name 30 "zhangsan"
2.5 Establecer solo si no existe
Si el valor clave no existe, cree la clave; si existe, la creación falla
setnx key值 "value值"
Por ejemplo
setnx name "zhangsan"
2.6 Establecer múltiples valores al mismo tiempo
mset key值1 value值1 key值2 value值2 key值3 value值3
Por ejemplo
mset k1 v1 k2 v2 k3 v3
2.7 Obtener múltiples valores al mismo tiempo
mget key值1 key值2 key值3
Por ejemplo
mget k1 k2 k3
2.8 Cuando hay varias asignaciones, configúrelo solo si no existe
msetnx es una operación atómica
msetnx key值1 value值1 key值2 value值2
Por ejemplo
msetnx k1 v1 k2 v2
3. Objeto
3.1 Establecer un valor de objeto usuario:1 como una cadena json para guardar un objeto
set user:{
id}:{
filed}
Por ejemplo
set user:1 {
name:zhangsan, age:3}
3.2 método getset
Si hay un valor, obtiene el valor original y establece el nuevo valor.
Si no hay ningún valor, devuelve nil.
getset key值 value值
Por ejemplo
getset name zhangsan
4. Escenarios de uso
Contador
Contando el número de unidades múltiples
Seguidores
Almacenamiento en caché de objetos
4. Listar el comando de shell del tipo de datos
1. Introducción
En Redis, las listas se pueden convertir en pilas, colas y colas de bloqueo.
Y todos los comandos de lista comienzan con l, sin distinguir entre mayúsculas y minúsculas.
2. Operación de lista
2.1 Insertar un valor o varios valores en el encabezado de la lista (izquierda)
lpush 列表名 数据
Por ejemplo
lpush list one
2.2 Insertar un valor o varios valores al final de la lista (derecha)
rpush 列表名 数据
Por ejemplo
rpush list two
2.3 Obtener valores específicos a través de intervalos
lrange 列表名 起始位置 结束位置
Por ejemplo
lrange list 0 2
2.4 Obtener todos los valores de la lista.
lrange 列表名 0 -1
Por ejemplo
lrange list 0 -1
2.5 Eliminar el primer elemento de la lista.
lpop 列表名
Por ejemplo
lpop list
2.6 Eliminar el último elemento de una lista
rpop 列表名
Por ejemplo
rpop list
3. Operación de subíndice
3.1 Obtener un valor en la lista por subíndice
lindex 列表名 下标名
Por ejemplo
lindex list 1
3.2 Devolver la longitud de la lista
llen 列表名
Por ejemplo
llen list
3.3 Eliminar el número especificado de valores en el conjunto de listas (coincidencia exacta)
lrem 列表名 个数 value值
Por ejemplo
lrem list 1 one
3.4 Intercepta la longitud especificada por subíndice. (la lista cambia y solo se truncan los elementos interceptados)
ltrim 列表名 起始位置 结束位置
Por ejemplo
ltrim list 1 2
3.5 Eliminar el último elemento de la lista y moverlo a una nueva lista
rpoplpush 原列表名 新列表名
Por ejemplo
rpoplpush list list2
3.6 Reemplazar el valor del subíndice especificado en la lista con otro valor (operación de actualización)
Determine si la tabla existe. Si no existe, se informará un error al actualizar. Si existe, actualice el valor del subíndice actual.
lset 列表名 下标名 value值
Por ejemplo
lset list 0 name
4. Insertar operación
Insertar un valor específico antes o después de un valor en la lista
linsert 列表名 before 已存在的值 即将插入的值
linsert 列表名 after 已存在的值 即将插入的值
Por ejemplo
linsert list before one three
linsert list after one three
5. Presta atención
En realidad, es una lista vinculada, antes del nodo posterior, izquierda y derecha pueden insertar valores.
Si el valor clave no existe, cree una nueva lista vinculada.
Si el valor clave existe, agregue contenido
. Si todos los valores son Eliminado, una lista enlazada vacía también significa que no existe
en ambos lados. Insertar o cambiar valores tiene la mayor eficiencia, y los elementos intermedios son relativamente menos eficientes.
Cola de mensajes, pila de cola de mensajes (lpush rpop)
(lpush lpop)
Cinco, colección Set.
1. Establecer operaciones relacionadas con la colección
1.1 Agregar datos a la colección establecida
sadd set集合名 数据
Por ejemplo
sadd myset one
1.2 Ver todos los valores de la colección establecida
smembers set集合名
Por ejemplo
smembers myset
1.3 Determinar si un valor está en la colección establecida
sismember set集合名 数据
Por ejemplo
sismember myset one
1.4 Obtener la cantidad de elementos de contenido en la colección establecida
scard set集合名
Por ejemplo
scard myset
1.5 Eliminar el elemento especificado en la colección de conjuntos
srem set集合名 数据
Por ejemplo
srem myset one
2. Operación aleatoria
2.1 Extraer aleatoriamente un elemento
srandmember set集合名
Por ejemplo
srandmember myset
2.2 Extraer aleatoriamente un número específico de elementos
srandmember set集合名 个数
Por ejemplo
srandmember myset 2
2.3 Eliminar aleatoriamente algunos elementos de la colección establecida
spop set集合名
Por ejemplo
spop myset
3. Mover un valor específico a otra colección de conjuntos
smove 原set集合名 新set集合名 value值
Por ejemplo
smove myset myset2 one
4. Operaciones de cobranza
4.1 Diferencia (SDIFF)
sdiff set集合1 set集合2
Por ejemplo
sdiff set1 set2
4.2 Intersección
sinter set集合名1 set集合名2
Por ejemplo
sinter set1 set2
4.3 Unión
sunion set集合名1 set集合名2
Por ejemplo
sunion set1 set2
6. Datos de tipo hash
1. Introducción
Su tipo de datos es una colección de mapas, y el mapa de claves (el valor es una colección de mapas) no es muy diferente del tipo String en esencia, sigue siendo un valor-clave simple.
2. Operación básica de hash
2.1 establecer un valor clave específico
hset hash名称 key值 value值
Por ejemplo
hset myhash field1 zhangsan
2.2 Obtener un valor de campo
hget hash名称 key值
Por ejemplo
hget myhash field1
2.3 establecer múltiples valores clave-valor
hmset hash名称 key值1 value值1 key值2 value值2
Por ejemplo
hmset myhash x1 y1 x2 y2
2.4 Obtener múltiples valores de campo
hmget hash名称 key值1 key值2
Por ejemplo
hmget myhash x1 x2
2.5 Obtener todos los datos
hgetall hash名称
Por ejemplo
hgetall myhash
2.6 Eliminar el valor clave especificado por hash
hdel hash名称 key值
Por ejemplo
hdel myhash x1
2.7 Obtener la cantidad de campos en la tabla hash
hlen hash名称
Por ejemplo
hlen myhash
2.8 Determinar si el campo especificado en el hash existe
hexists hash名称 key值
Por ejemplo
hexists myhash field1
2.9 Obtener solo todos los valores clave
hkeys hash名称
Por ejemplo
hkeys myhash
2.10 Obtener solo todos los valores
hvals hash名称
Por ejemplo
hvals myhash
3. Manipulación de datos
3.1 Incrementar en uno
hincrby hash名称 key值 步长
Por ejemplo
hincrby myhash num 1
3.2 Disminución en uno
hincrby myhash num -1
3.3 Juzgar la existencia
El valor se puede establecer si no existe y no se puede establecer si existe
hsetnx hash表名 key值 value值
Por ejemplo
hsetnx myhash name zhangsan
Seven, Zset (colección ordenada)
1. Introducción
Según el conjunto, se agrega un valor para ordenar.
2. Operación básica
2.1 Agregar un valor
zadd zset集合名称 排序的标志数字 数据
Por ejemplo
zadd myset 1 one
2.2 Agregar múltiples valores
zadd zset集合名称 排序的标志数字 数据2 排序的标志数字 数据3
Por ejemplo
zadd myset 2 two 3 three
2.3 Verificar todos los valores
zrange zset集合名称 起始位置 结束位置
Por ejemplo
zrange myset 0 -1
3. Operación de clasificación
preparación de datos
zadd salary 2500 zhangsan
zadd salary 3000 lisi
zadd salary 1000 wnagwu
3.1 Mostrar todos los usuarios, de pequeños a grandes (ordenar por puntuación si no se conocen los valores mínimo y máximo del rango)
zrangebyscore zset集合名称 -inf +inf
Por ejemplo
zrangebyscore salary -inf +inf
3.2 Mostrar todos los usuarios, de mayor a menor
zrevrange zset集合名称 0 -1
Por ejemplo
zrevrange salary 0 -1
3.3 Mostrar todos los usuarios con calificaciones
zrangebyscore zset集合名称 -inf +inf withscores
Por ejemplo
zrangebyscore salary -inf +inf withscores
3.4 Mostrar el orden ascendente de los empleados cuyo salario es inferior a 2500 (cuando un determinado valor se conoce como el valor máximo del rango)
zrangebyscore zset集合名称 -inf 范围最大值 withscores
Por ejemplo
zrangebyscore salary -inf 2500 withscores
4. Establecer operación
4.1 Eliminar el elemento especificado en el conjunto ordenado
zrem zset集合名称 数据名
resultado
zrem salary lisi
4.2 Obtener el número en el conjunto ordenado
zcard zset集合名称
Por ejemplo
zcard salary
4.3 Obtener el número de miembros en el intervalo especificado
zcount zset集合名称 起始范围 结束范围
Por ejemplo
zcount myset 1 3