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.
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:
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.
¿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.
¿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
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
En Linux, instalar Redis es tan simple como
sudo apt install redis
o en Mac:
brew install 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
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.
Los pares clave-valor son una estructura de datos común en la mayoría de los lenguajes de programación.
En Python se llama diccionarios o dict en resumen
En Javascript se llama Mapas
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
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