sql >> Base de Datos >  >> NoSQL >> Redis

Redis cache vs usar memoria directamente

Redis es un control remoto servidor de estructura de datos. Sin duda, es más lento que simplemente almacenar los datos en la memoria local (ya que implica viajes de ida y vuelta del socket para obtener/almacenar los datos). Sin embargo, también trae algunas propiedades interesantes:

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

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

  • 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, publicación/suscripción, 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 otro almacén de clave/valor remoto).