Hoy echaremos un vistazo a la instalación y el uso de redis. Todo está resumido para facilitar su uso en el futuro.
Los datos almacenados en redis están en forma de KV, que puede ser persistente.
Primero, necesitamos instalarlo primero. Lo que elijo aquí es descargar el paquete fuente en línea y luego compilarlo.
cd /opt
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
Después de descargar, necesitamos descomprimir
tar -zxvf redis-4.0.8.tar.gz
Después de la descompresión, ingrese a la carpeta y ejecute el comando make para compilar
cd redis-4.0.8
make
Después de compilar, necesitamos instalar y apuntar al directorio de instalación, sin espacios alrededor del signo igual.
cd bin
make install PREFIX=/usr/local/redis-4.0.8
Después de eso, copiamos redis.conf a nuestro directorio de instalación
cp redis.conf /usr/local/redis-4.0.8/redis.conf
Los elementos de configuración relevantes en el archivo de configuración se explican en mis otros blogs. Puede consultar lo que necesita cambiar.
Para un mejor funcionamiento, solo cambio una de las configuraciones, que es cambiar daemonize no a yes, y dejar que sea en la ejecución de fondo
cd /usr/local/redis-4.0.8
vim redis.conf
Después de la modificación, podemos comenzar
cd bin
./redis-server ../redis.conf
Podemos comprobar si hay redis en el proceso.
ps -aux|grep redis
Redis se ejecuta en un solo hilo y puede procesar alrededor de 100,000 solicitudes por segundo. Esto debe combinarse con el hardware del host. Podemos ejecutar el comando para verificarlo. Mi máquina es de aproximadamente 70,000.
./redis-benchmark
Bueno, ahora podemos conectarnos al cliente de redis para probar varios comandos.
Conectarnos al cliente. También puedes decir que la
conexión predeterminada para algo es 6379, así que si nuestro puerto no ha sido cambiado, podemos ejecutar directamente el comando para conectar el cliente redis
./redis-cli
Si modificamos el puerto a 6378, entonces el puerto debe agregarse al conectarse, incluso si hay varias instancias de redis localmente, entonces el puerto debe agregarse cuando se usa el cliente para conectarse a redis.
./redis-cli -p 6378
También hay una conexión remota. En este momento, debe agregar una IP. Si el puerto no es el predeterminado 6379, también debe agregar el puerto. Si se establece una contraseña en el archivo de configuración, entonces debe agregar una contraseña.
./redis-cli -h ip -p 端口 -a 密码
También podemos conectarnos primero y luego ingresar la contraseña para verificar
auth password
OK, el cliente está conectado, podemos enviar un ping de contraseña y responderá con un PONG para
obtener un valor en el archivo de configuración
config get key
Establecer un valor en el archivo de configuración
config set key value
El archivo de configuración predeterminado es 16 bases de datos, podemos cambiar la base de datos por comando
select 切换的库下标
Ver el número actual de claves de biblioteca
DBSIZE
Quiero ver qué claves específicas son
keys *
Si queremos hacer coincidir una clave, podemos usar? Como marcador de posición, que solo ocupa un dígito. Por ejemplo, la clave coincidente es k2
keys k?
Determine si existe una clave, devuelva 1 si existe, devuelva 0 si no existe
EXISTS 查询的key
Eliminar un par clave-valor de la biblioteca actual y moverlo a otra biblioteca
move 移除的key 移动到的库索引
Compruebe cuántos segundos han expirado, -1 significa que nunca expira, -2 significa que expiró
ttl key
Establezca el tiempo de vencimiento para la clave dada, no existirá después del vencimiento
expire key 秒钟
Comprueba que tipo de tu clave es
type key
Agregar valor Hay cinco tipos de valores: Cadena, Lista, Conjunto, Hash y Conjunto ordenado por Zset.
String
String es el tipo más básico de Redis. Puede entenderlo exactamente como el mismo tipo que Memcached. Una clave corresponde a un valor.
El tipo String es binario seguro, lo que significa que Redis String puede contener cualquier dato, como imágenes jpg u objetos serializados.
El tipo de cadena es el tipo de datos más básico de Redis. El valor de cadena en un Redis puede ser de hasta 512M.
Ajustes
set key value
Eliminar clave
del key
Agregar valor
append key value
Ver Longitud
STRLEN key
Cuando el valor es un número, puede agregar uno directamente
INCR key
Cuando el valor es un número, puede restar uno directamente
DECR key
Cuando el valor es un número, se puede sumar directamente
INCRBY k2 value
Cuando el valor es un número, se puede restar directamente
DECRBY k2 value
Obtenga el valor entre el índice inicial y el índice final, cuando el índice final es -1, es el final
GETRANGE key 开始下标 结束下标
Establecer anulación de valor
SETRANGE key 开始下标 替换的值
Establecer el valor y establecer el tiempo de caducidad
setex key 过期时间 value
Si no hay ningún valor de configuración, no se sobrescribirá si existe
setnx key value
Establecer varios valores
mset key value key value key value ......
Obtener varios valores
mget key key key ......
Realice varias configuraciones inexistentes, pero no pueden existir ya y configuraciones mixtas inexistentes, ya sea que existan todas o ninguna.
msetnx key value key value key value ......
Establezca un nuevo valor y devuelva el valor anterior, si el valor anterior no existe, devuelva nulo
getset key value
Lista (lista) La lista de
Redis es una lista simple de cadenas, ordenadas en el orden de inserción. Puede agregar un elemento al principio (izquierda) o al final (derecha) de la lista. Su capa inferior es en realidad una lista vinculada.
Si la clave no existe, cree una nueva lista vinculada.
Si la clave ya existe, agregue contenido nuevo.
Si los valores se eliminan todos, la clave correspondiente también le informará que
el funcionamiento de la lista vinculada es extremadamente eficiente en tanto en la cabeza como en la cola, pero si se realiza en el elemento intermedio Operación, la eficiencia es muy sombría.
Establecer el valor de izquierda a derecha
LPUSH key value value ......
Establecer valor de derecha a izquierda
RPUSH key value value ......
Ver el valor, puede elegir de acuerdo con el subíndice, cuando el subíndice final es -1, es el final
LRANGE key 开始下标 结束下标
Pop el valor de la izquierda
LPOP key
Valor pop desde la derecha
RPOP key
Obtenga el valor de un subíndice
lindex key index
Obtener la longitud
llen key
Eliminar N valores
lrem key n value
Interceptar un cierto valor y asignar el valor interceptado
ltrim key 开始下标 结束下标
El valor que aparece a la derecha de la lista de origen se inserta en la lista de destino desde la izquierda
rpoplpush 源列表 目标列表
Insertar un valor delante de un valor
linsert key before 基值 插入值
Insertar un valor después de un valor
linsert key after 基值 插入值
Set (colección)
Redis Set es una colección desordenada de tipo String, que se implementa a través de HashTable.
Establecer un conjunto
sadd key k1 v1 k2 v2 k3 v3
Ver el valor del conjunto
smembers key
Compruebe si hay una clave en el conjunto, devuelva 1 si existe, devuelva 0 si no existe
sismember key
Obtener el número de elementos del conjunto.
scard key
Eliminar un elemento del conjunto
srem key value
Seleccione aleatoriamente n números del conjunto
srandmember key n
Salga aleatoriamente de la pila, por defecto uno, si escribe n, luego salga aleatoriamente n
spop key n(不写,默认出n个)
Mueva el valor de set1 a set2
smove set1 set2 value
Conjunto de diferencias, elementos en conjunto1 pero no en conjunto2
sdiff set1 set2
Intersección, elementos que existen tanto en set1 como en set2
sinter set1 set2
Union, el conjunto después de que se deduplican todos los elementos de set1 y set2
sunion set1 set2
Hash (hash) El hash de
Redis es una colección de pares clave-valor.
El hash de Redis es una tabla de mapeo de campo y valor de tipo String. El hash es especialmente adecuado para almacenar objetos.
Similar al
valor de Map <String, Object> en Java , key es la clave de redis y kv es el elemento de map.
hset key k v
Obtenga el valor, primero obtenga el elemento, luego obtenga el valor en el elemento
hget key k
Establecer varios valores
hmset key k v k v k v ......
Obtener varios valores
hmget key k k k ......
Obtén todos los valores
hgetall key
Eliminar algunos elementos
hdel key k k k ......
Obtener la cantidad de elementos
hlen key
Determine si un elemento existe, devuelva 1 si existe, devuelva 0 si no existe
hexists key k
Obtén la clave de todos los elementos
hkeys key
Obtenga el valor de todos los elementos
hvals key
Si el valor del elemento es un número entero, puede incrementar un número entero
hincrby key k n
Si el valor del elemento es un decimal, puede aumentar un cierto decimal
hincrbyfloat key k n
Si un elemento no existe, establezca el valor, si no hay un valor establecido, devuelva 1 si el valor establecido es exitoso y regrese 0 si el valor establecido falla
hsetnx key k v
Zset (conjunto ordenado: colección ordenada)
Redis zset también es una colección de elementos de tipo String como conjunto, y no se permiten miembros duplicados.
La diferencia es que cada elemento está asociado con una puntuación de tipo doble.
Redis usa puntuaciones para ordenar los miembros del conjunto de pequeños a grandes. Los miembros de zset son únicos, pero la puntuación (puntuación) se puede repetir.
Establecer valor, el valor es un par clave-valor, incluida la puntuación y el valor
zadd key score value score value score value ......
Ver valor
zrange key 开始下标 结束下标
Ver valor con puntuación
zrange key 开始下标 结束下标 withscores
Ver el valor de un determinado intervalo de puntuación
zrangebyscore key 开始分数 结束分数
Ver el valor de un intervalo de puntuación con puntuaciones
zrangebyscore key 开始分数 结束分数 withscores
Ver el valor que no incluye un determinado rango de puntuación, pero no incluye la puntuación inicial ni la puntuación final
zrangebyscore key (开始分数 (结束分数
Ver un determinado intervalo de puntuación e interceptar n valores del subíndice inicial
zrangebyscore key 开始分数 结束分数 limit 开始下标 n
Eliminar elemento
zrem key 值
Ver Longitud
zcard key
Cuente el número de puntuaciones en un intervalo determinado
zcount key 开始分数 结束分数
Ver el índice del valor
zrank key value
Ver la puntuación del valor
zscore key value
Obtenga el valor del subíndice en orden inverso
zrevrank key value
Ordenar zset en orden inverso
zrevrange key 开始下标 结束下标
Obtenga el valor de un determinado intervalo de puntuación en orden inverso
zrevrangebyscore key 开始分数 结束分数
Borrar datos de la biblioteca (usar con precaución)
FLUSHDB
Borrar todos los datos de la biblioteca (usar con precaución)
FLUSHALL
Finalmente, le proporcionaré un sitio web del manual de operación de Redis, puede consultar la referencia de comando de Redis