tutorial commands cache caching memory redis

caching - commands - Caché Redis vs uso de memoria directamente



redis vs memcached (2)

En la actualidad, nos atrae más el servidor con menos arquitectura, donde cada solicitud puede ir a un contenedor diferente. En este caso, redis puede desempeñar un papel muy importante.

No podemos utilizar la memoria caché simple en el servidor, ya que no podemos estar seguros de que nuestra solicitud se publique en el mismo contenedor donde se almacena nuestra memoria caché simple.

En este caso, tenemos que usar redis ya que almacena el caché en una ubicación remota y podemos acceder incluso a los cambios de contenedor en la arquitectura del servidor.

No he usado Redis todavía, pero me enteré y planeo probarlo como almacenamiento en caché.

Oí que Redis usaba la memoria como base de datos de la memoria caché, entonces, ¿cuál es la diferencia si uso una variable como objeto o tipo de datos de diccionario para almacenar datos? me gusta:

var cache = { key: { }, key: { } ... }

¿Cuál es la ventaja de Redis?


Redis es un servidor de estructura de datos remota . Ciertamente, es más lento que el simple almacenamiento de los datos en la memoria local (ya que involucra el uso de conexiones de socket para buscar / almacenar los datos). Sin embargo, también trae algunas propiedades interesantes:

  • Se puede acceder a Redis por todos los procesos de sus aplicaciones, posiblemente ejecutándose en varios nodos (algo que la memoria local no puede lograr).

  • El almacenamiento de memoria de Redis es bastante eficiente y se realiza en un proceso separado. Si la aplicación se ejecuta en una plataforma cuya memoria es recogida de basura (node.js, java, etc.), permite manejar una memoria caché / almacenamiento mucho más grande. En la práctica, los montones muy grandes no funcionan bien con los lenguajes recolectados.

  • Redis puede conservar los datos en el disco si es necesario.

  • Redis es un poco más que un simple caché: proporciona varias estructuras de datos, varias políticas de desalojo de elementos, colas de bloqueo, pub / sub, atomicidad, secuencias de comandos Lua, etc.

  • Redis puede replicar su actividad con un mecanismo maestro / esclavo para implementar alta disponibilidad.

Básicamente, si necesita que su aplicación se escale en varios nodos que comparten los mismos datos, entonces se requerirá algo como Redis (o cualquier otra clave remota / almacén de valores).