¿En qué situaciones sería una buena idea usar Redis sobre Memcached?

Redis proporciona la misma interfaz básica de clave / valor que memcached, pero agrega muchas características potentes y opciones de persistencia además.

Si está buscando un caso de uso puramente de almacenamiento en caché (coloque algunos datos bajo una clave conocida, búsquelo por clave, opcional expire con un tiempo de espera), está mejor con Memcached: es simple, confiable y rápido.

Si necesita estructuras de datos avanzadas o persistencia respaldada por disco, debe usar Redis. Ejemplos:

  • Colas de trabajo como listas (es decir: Resquetar el sistema de trabajo en segundo plano)
  • Listas ordenadas con tamaño restringido (es decir: tablas de clasificación, 100 mejores usuarios por puntaje)
  • Contador / incrementos (también disponible en memcached)
  • Almacenamiento JSON de persistencia por clave / valor
  • Funcionalidad de publicación / suscripción
  • Caducar / Buscar claves por coincidencia global (es decir, todas las claves para ‘usuarios / *’)
  • Desea modelar conjuntos con operaciones de conjuntos (unión / disyunción / etc.)
  • Requiere replicación

TL; DR:
memcached es un caché simple en clave / valor en memoria sin persistencia
redis es un sistema de almacenamiento de estructura de datos con memoria, respaldo de disco y replicación.

Depende de las características de redis que desee: si todo lo que desea es persistencia y replicación, también vale la pena mirar membase: es un híbrido memcache / couchdb que ofrece rendimiento memcache k / v con persistencia y vistas counchdb.

More Interesting

Parece que no puedo terminar algunos de mis proyectos a medias debido a obstáculos, conocimiento limitado de algoritmos, estructuras de datos, etc. ¿Cómo puedo ser productivo?

Programación de computadoras: ¿Qué quiere decir la gente al decir que algo es una 'implementación eficiente'?

Cómo configurar un entorno Golang para un corredor compartido de GitLab CI

¿Cuáles son algunas cosas que un buen programador debe saber hacer de inmediato? ¿Cuáles son algunas cosas que un buen programador aún tendrá que buscar o investigar antes de resolverlo?

¿Cuáles son los mejores recursos (artículos, libros, ejemplos) para diseñar API? ¿Cuáles son algunas características de una hermosa API?

¿Qué es el desarrollo de software y cómo puedo comenzar a aprenderlo?

¿Cómo puede un ingeniero de control de calidad o de prueba convertirse en una SDET?

¿Cuál es el programa más grande que ha escrito usted mismo (líneas de código)?

Cómo implementar un administrador de descargas para descargar archivos que tiene un identificador único mientras se mueve de una carpeta a otra

¿Tendría sentido nunca instalar ningún software que no sea de stock y también evitar Java y JavaScript tanto como sea posible para mejorar la seguridad informática?

¿Cuáles son algunos programas heredados (pre 32 bits) que no tienen equivalentes modernos?

¿Cuál es la diferencia en las oportunidades profesionales entre los 2 cursos: ingeniería de software y bioinformática?

¿Es posible entrenar una red neuronal para convertir imágenes de rostros humanos (selfies) en dibujos animados de estilo moderno?

¿Por qué los programas contienen errores? ¿Cómo se arreglan?

¿Qué es la cobertura de polos en las pruebas de software?