GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Tipos de datos de Redis con comandos:guía completa

Introducción

Redis es una solución de base de datos no relacional notablemente rápida. Su modelo de datos clave-valor simple permite a Redis manejar grandes conjuntos de datos mientras mantiene velocidades de lectura y escritura impresionantes y disponibilidad.

Redis le permite usar varios tipos de datos, como listas, hashes, conjuntos y conjuntos ordenados para almacenar y administrar datos.

En este tutorial, aprenda cómo Tipos de datos de Redis trabajar y dominar los comandos básicos para cada tipo de datos.

Tipos de datos Redis

Una base de datos de clave-valor estructura los datos aplicando una clave única a cada objeto de datos. Use la clave para administrar y recuperar los valores asignados a esa clave específica. Cualquier secuencia binaria de hasta 512 MB de tamaño se puede usar como clave Redis y luego asociarse con cadenas simples u otras estructuras de datos abstractas.

Las claves de Redis se asignan a valores mediante el uso de uno de los siete tipos de datos diferentes:

  • Cuerdas
  • Listas
  • Hashes
  • Conjuntos
  • Conjuntos ordenados
  • HyperLogRegistros
  • Mapas de bits (cadenas de bits)

Cada tipo de datos de Redis tiene su propio conjunto de comandos para patrones de acceso de rutina, soporte de transacciones y operaciones masivas. Si no tiene instalado Redis, use nuestras guías detalladas para instalar Redis en Ubuntu o implementar Redis en Docker.

Cuerdas

Una cadena representa el valor más pequeño que puede adjuntar a una clave. El tamaño máximo permitido de un valor de cadena es de 512 MB y contiene cualquier secuencia de caracteres. En Redis, la parte clave del par clave-valor también es una cadena.

Las bases de datos que utilizan este tipo de estructura de datos a menudo se denominan almacenes de clave-valor de cadena a cadena.

Con todos los datos en un solo objeto, las operaciones de cadena en Redis son extremadamente rápidas. Comandos básicos de Redis como SET , GET y DEL le permite realizar operaciones esenciales en el valor de la cadena.

  • SET key value – Establece el valor para la clave especificada.
  • GET key – Recupera el valor de la clave especificada.
  • DEL key – Elimina el valor de la clave dada.

El siguiente ejemplo ilustra cómo usar estos comandos sencillos dentro de redis-cli concha interactiva. El SET El comando agrega el valor a la clave mientras que GET El comando obtiene y muestra el valor. Si no se asigna ningún valor a la clave, GET la salida del comando es (nil) .

Si existe un valor, la salida para DEL El comando muestra el número de elementos que se eliminan. Agregar nuevas claves y valores no afecta el rendimiento de la base de datos ni las velocidades de procesamiento.

Listas

Redis le permite asociar una secuencia ordenada de cadenas a una tecla. Esta lista enlazada de cadenas le permite realizar un conjunto de operaciones como:

  • LPUSH – Empuja el valor al extremo izquierdo de la lista.
  • RPUSH – Empuja el valor al final de la cola de la lista.
  • LRANGE – Recupera una variedad de artículos.
  • LPOP/RPOP – Se utiliza para mostrar y eliminar elementos de ambos extremos.
  • LINDEX – Obtener un valor de una posición específica dentro de la lista.

Al agregar valores a una lista con LPUSH/RPUSH comandos, la salida proporciona el número actual de elementos. A continuación, puede obtener la lista completa mediante LRANGE comando con 0 como inicio y -1 que significa el último elemento del índice.

Recupere un valor específico de la lista enlazada utilizando LINDEX ordene o elimine elementos con LPOP/RPOP comando.

Agregar valores a una lista vinculada es una operación eficiente que no afecta las velocidades de escritura, independientemente de su tamaño. Sin embargo, la lectura de datos de una lista vinculada puede depender de la cantidad de cadenas en el lado del valor del par clave-valor.

Hashes

Un hash de Redis almacena un mapeo desordenado de pares clave-valor. Una clave hash está asociada con un valor. El valor es una cadena Redis que contiene otros pares clave-valor. No puede usar otras estructuras de datos complejas, como conjuntos, listas u otros hashes como valores.

Los comandos hash básicos le permiten acceder y cambiar campos individuales o múltiples de forma independiente.

  • HSET – Asigne un valor a una clave dentro del hash.
  • HGET – Recupera valores individuales asociados con una clave dentro del hash.
  • HGETALL – Muestra todo el contenido hash.
  • HDEL – Elimina un par clave-valor existente de un hash.

Cada vez que se agrega un elemento al hash con el HSET comando, un valor de retorno (integer) n le informa si ya existe una entrada y el número de instancias. Esta misma información se proporciona al usar el HDEL comando.

Conjuntos

Un conjunto de Redis es una colección desordenada de cadenas únicas. Como los conjuntos no están ordenados, no puede eliminar elementos del frente o del final del índice como con las listas. Sin embargo, las cadenas son únicas y no existe la posibilidad de que aparezcan varias instancias del mismo elemento dentro de un conjunto.

Utilice los siguientes comandos para agregar, eliminar, recuperar e inspeccionar elementos individuales de un conjunto:

  • SADD – Agregue uno o más elementos a un conjunto.
  • SISMEMBER – Averigüe si un artículo es parte de un conjunto.
  • SMEMBERS – Recupera todos los elementos de un conjunto.
  • SREM – Elimina un elemento existente de un conjunto.

Agregar el mismo elemento varias veces a un conjunto siempre produce una sola copia. Como resultado, no necesita usar el SMEMBERS o SISMEMBER comando para determinar si un elemento ya es miembro de un conjunto.

Usa el SADD comando para asegurarse de que no haya entradas duplicadas dentro de un conjunto.

Conjuntos ordenados

Conjuntos ordenados o ZSET Los correos electrónicos son uno de los tipos de datos más avanzados en Redis.

La parte de valor de un par clave-valor de conjunto ordenado se compone de un elemento de cadena único (clave) llamado miembro , y un elemento (valor) se denomina puntuación . Los conjuntos ordenados asignan cada elemento a un valor de coma flotante (puntuación ) y use ese valor para clasificar los elementos en un orden específico.

Puede acceder a elementos en conjuntos ordenados por miembro, orden ordenado y por los valores de puntuación. Los comandos básicos le permiten obtener, agregar, eliminar valores individuales o recuperar elementos en función de los valores de los miembros y los rangos de puntuación.

  • ZADD – Agrega un miembro con una puntuación al conjunto ordenado.
  • ZRANGE – Recupera elementos en función de su posición en el orden ordenado. El withscores produce los valores de puntuación reales.
  • ZRANGEBYSCORE – Obtiene elementos del conjunto ordenado en función del rango de puntuación definido. El withscores produce los valores de puntuación reales.
  • ZREM Elimina elementos de un conjunto ordenado.

Solo el miembro el valor del par miembro-puntuación se trata como único. Si asocias dos puntuaciones diferentes al mismo miembro valor, solo la última adición estará presente en el conjunto ordenado. Si dos miembros diferentes tienen la misma puntuación, Redis ordena los valores alfanuméricamente.

HyperLogRegistros

HyperLogLogs proporciona un recuento estimado de elementos únicos en una colección. A diferencia de otras soluciones, los elementos de un HyperLogLogs no se cuentan individualmente, ya que eso requeriría realizar un seguimiento de los elementos anteriores para evitar contar el mismo elemento dos veces. Tal operación requiere una cantidad de memoria igual a la memoria utilizada para almacenar los datos.

La estructura HyperLogLog utiliza un algoritmo probabilístico mucho más eficiente que estima el tamaño de un conjunto en lugar de contar cada elemento. La tasa de error de la estimación es inferior al 1%.

Los comandos de HyperLogLog le permiten agregar elementos, recuperar un recuento estimado de elementos únicos y crear una unión de varios HyperLogLogs.

  • PFADD – Agregar uno o varios elementos a un HyperLogLog.
  • PFCOUNT – Obtener un recuento estimado de elementos únicos de un único HyperLogLog.
  • PFMERGE – Combinar diferentes HyperLogLogs en un único HyperLogLog.

La precisión de los resultados puede variar según el tamaño de la colección. Sin embargo, si no necesita un conteo exacto de elementos, esta estructura probabilística le permite usar solo una fracción de la memoria que de otro modo necesitaría.

Mapas de bits

Una cadena Redis es una secuencia binaria con un tamaño máximo de 512 megabytes. Los mapas de bits le permiten manipular cadenas en el nivel de bits usando los comandos apropiados.

  • SETBIT – El bit se define o borra en función de un valor 0 o 1.
  • GETBIT – Recupera el valor de bit para el valor de cadena especificado por una clave.
  • BITOP – Ejecutar operaciones bit a bit entre cadenas.
  • BITPOS – Localice el primer bit establecido en 1 o 0 en una cadena.
  • BITCOUNT – Cuente el número de bits establecidos en 1 en una cadena.

Ser capaz de manipular bits de una cadena brinda oportunidades excepcionales para ahorrar espacio. También proporciona un medio para acceder y trabajar en los elementos fundamentales de los datos directamente.


Ubuntu
  1. Explicación de la arquitectura de Apache Hadoop (con diagramas)

  2. Tipos de datos de Cassandra:integrados, recopilados y definidos por el usuario

  3. Comenzando con Vagrant en Ubuntu 14.10 - Una guía para principiantes

  4. Cifre sus datos con EncFS en Ubuntu 15.10

  5. ¿Esta guía de estudio es incorrecta acerca de los comandos para determinar los tipos de archivos?

Comandos de Linux - Guía completa

Comandos de Nmap con ejemplos

Una guía sobre cómo instalar Ubuntu 15.04 con capturas de pantalla

Copiar datos con rsync en Ubuntu

Cómo configurar la replicación de Redis (con el modo de clúster deshabilitado) en CentOS 8 - Parte 1

Guía completa de hPanel