"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Redis

Redis

Publicado el 2024-11-06
Navegar:717

Redis

Redis es una base de datos NOSQL en la que los datos se almacenan en pares clave-valor.
Redis almacena datos en la memoria principal, lo que significa que es rápido pero volátil, a diferencia de los sistemas de bases de datos como PostgreSQL, que almacena datos en el disco.

Descripción general

En una aplicación con un servidor y una base de datos, el acceso a la información de la base de datos provocará latencia.

Las bases de datos de valores clave como Redis a menudo se mantienen delante de esas bases de datos y las operaciones de acceso requieren 2 pasos:

  1. Si la información está en el caché, acceso al caché, la aplicación recupera la información de redis y la envía al cliente
  2. Si no, error de caché, la aplicación toma la información de la base de datos, la envía al cliente y la almacena en el caché.

Con estos 2 pasos y dado que la memoria principal tiene una latencia menor que el disco, podemos decir que redis se puede usar para almacenar y acceder a datos recientes y frecuentes y a operaciones costosas, lo que hace que las aplicaciones sean de 10 a 50 veces más rápidas.

Por lo tanto, es un hecho que si va a crear una aplicación que será escalable en el futuro, Redis (o bases de datos similares a Redis) es indispensable.


Preguntas

  1. ¿Redis es de código abierto?: Sí, Redis es de código abierto con un tipo especial de licencia, pero existen alternativas como KeyDB de Snapchat y Memcached que son de código abierto. KeyDB es una bifurcación de Redis pero por ahora solo puede ejecutarse en Linux.

  2. ¿Redis es compatible con Windows?: No, Redis no es compatible con Windows, pero puedes instalar WSL/Ubuntu e instalar redis usando

sudo apt install redis
  1. Estoy usando WSL. ¿Por qué el servidor Redis no funciona en mi sistema?: cuando se ejecuta en WSL, puede ejecutar el servidor Redis usando
redis-server --port 6000

donde 6000 es el puerto de su servidor local en el que desea ejecutarlo. (es decir, 127.0.0.1:6000).

La mayoría de los problemas se deben al hecho de que el puerto predeterminado que usa el servidor redis ya está en uso

  1. ¿Existen bibliotecas cliente para Redis?: En realidad, sí. puede encontrarlos en el sitio web de Redis o puede crear uno usted mismo.

Instalación de Redis

En Linux, instalar Redis es tan simple como

sudo apt install redis

o en Mac:

brew install redis

Ejecutando Redis

Necesitas tener 2 instancias de tu terminal en

en el primero en ejecutar su servidor

redis-server -port 

y en el segundo para ejecutar tu cliente

redis-cli

Al crear una aplicación web, no es necesario ejecutar el cliente pero el servidor debe estar ejecutándose

Conceptos de Redis

Hay 3 conceptos principales en redis que debes entender o 4

  1. Pares clave-valor
  2. Liza
  3. Conjuntos
  4. Hashes

Todas las demás estructuras de datos son principalmente una implementación avanzada de la primera

Por lista, quise decir matriz no lista vinculada y así es como la llama redis.


Pares clave-valor

Los pares clave-valor son una estructura de datos común en la mayoría de los lenguajes de programación.

  1. En Python se llama diccionarios o dict en resumen

  2. En Javascript se llama Mapas

  3. En C# se llama Diccionarios

Hay 6 operaciones principales para pares clave-valor en Redis

Operaciones Explicaciones Ejemplos Más explicaciones
COLOCAR Crea un par clave-valor ESTABLECER nombre Juan Establece la clave para asignar al valor
CONSEGUIR Obtiene valor para la clave OBTENER nombre Esto devuelve a John
BORRAR Elimina el par clave-valor DEL nombre Esto elimina el nombre del par clave-valor de la base de datos
EXISTE Comprueba si existe una clave en la base de datos de Redis EXISTE nombre devuelve 1 o 0 correspondiente a Verdadero o Falso
FLUSHALL Borra todo el caché FLUSHALL más o menos como DROP TABLE en postgres
LLAVES * Devuelve todas las claves de la base de datos LLAVES *

También existen operaciones basadas en tiempo. En operaciones basadas en tiempo, la clave solo está en el caché durante un período de tiempo determinado; una vez transcurrido el tiempo, el caché elimina la clave.

Hay 2 operaciones principales basadas en tiempo

Operaciones Explicaciones Ejemplos Más explicaciones
EXPIRAR Expira una clave después de ser definida EXPIRAR nombre 10 Elimina el nombre clave-valor después de 10 segundos. La clave debe definirse con SET antes de llamar a EXPIRE. Una alternativa común es;
SETEX Expira una clave al ser definida SETEX edad 30 15 Establece la antigüedad de la clave en el valor 30 y luego elimina el par clave-valor después de 15 segundos
TTL Tiempo de vivir edad TTL Devuelve el tiempo restante antes de eliminar la clave de edad

El blog se está volviendo demasiado largo, hablaré sobre listas, conjuntos, hashmaps y también posibles preguntas de entrevista sobre redis en otro blog.

Por favor, si tienes preguntas, coméntalas a continuación, haré todo lo posible para responderlas ⭐. Codificación feliz

Declaración de liberación Este artículo se reproduce en: https://dev.to/ezekiel_77/redis-3njh?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3