Analizar la diferencia entre Redis y Memcache
2.Redis no solo admite tipos de datos k/v simples, sino que también proporciona listas, conjuntos, hashes y otras estructuras de datos para almacenamiento.
3.Redis admite la copia de seguridad de datos, es decir, el modo maestro-esclavo.
4.Redis admite la persistencia de datos, lo que le permite guardar datos en la memoria del disco y cargarlos nuevamente al reiniciar.
Redis tiene las características de una base de datos en muchos aspectos, o es un sistema de base de datos, mientras que Memcached es solo un caché K/V
Mire la comparación entre redis y memcache por el autor de Redis
Fuente: Autor de Redis: "En comparación con Redis, ¿memcached es un dinosaurio?" (En comparación con Redis, ¿memcached está realmente obsoleto?)
Tú
No deberías preocuparte demasiado por el rendimiento. Cada núcleo de Redis
es más rápido en números más pequeños, pero Memcached puede
es más rápido en números más pequeños, pero Memcached puede
>Usar múltiples núcleos usando un solo ejecutable y puerto TCP sin asistencia del cliente. Además, Memcached es más rápido cuando maneja valores grandes, y Redis se ha mejorado mucho recientemente (inestable
rama), pero en este caso de uso
, Memcached es aún más rápido.
El punto importante aquí es que es probable que ninguno de los dos sea un cuello de botella en términos de la cantidad de consultas que puede atender por segundo.
No
No es necesario prestar demasiada atención al rendimiento, porque el rendimiento de ambos ya es bastante alto. Debido a que Redis solo usa un núcleo, mientras que Memcached puede usar múltiples núcleos, en promedio, Memcached funciona mejor en cada núcleo al comparar
Redis y Memcached. Para datos de más de 100k, el rendimiento de Memcached es mayor que el de Redis. Aunque Redis se ha optimizado recientemente para almacenar
rendimiento de big data, todavía es ligeramente inferior a Memcached. En resumen, concluimos que no importa qué caché utilice, la cantidad de solicitudes procesadas por segundo no será un cuello de botella. (Por ejemplo,
el cuello de botella puede ser la NIC)
Debes vigilar el uso de la memoria. Para pares clave-valor simples, memcached es más eficiente en cuanto a memoria. Si usa hashes de Redis.
Redis es más eficiente en memoria. Depende del caso de uso.
Debes estar atento al uso de la memoria. Para pares clave-valor simples, memcached es más eficiente en cuanto a memoria. Si Redis usa una estructura hash para almacenar valores clave, su uso de memoria será mayor que el de Memcached debido a su compresión combinada. Por supuesto, esto está relacionado con el escenario de su aplicación y las características de los datos.
Debes centrarte en la persistencia y la replicación, que solo están disponibles en Redis. Incluso si su objetivo es crear un caché, le ayudará a garantizar que sus datos persistan después de una actualización o reinicio.
Debes centrarte en la persistencia y la replicación, dos características que solo están disponibles en Redis. Incluso si sólo desea no perder los datos almacenados en caché al actualizar o reiniciar su sistema, Redis es el camino a seguir.
Debes
centrarte en el tipo de operación que requieres.
Hay
muchas operaciones complejas en Redis, e incluso considerando
casos de uso de almacenamiento en caché,
necesita poder almacenar datos en caché usando Redis.
Debes centrarte en el tipo de operación que requieres. La velocidad de esta operación suele ser comparable a la de GET
y SET normales. Entonces, si necesita operaciones más complejas que solo GET/SET, Redis lo ayudará mucho (piense en el almacenamiento en caché de la línea de tiempo).
Aunque
lo último que necesitas es tu aplicación, Redis tiene más estructuras de datos y admite operaciones de datos más ricas que Memcached.
Necesitas enviar el archivo. datos al cliente y realizar cambios similares y luego restablecerlos. Esto aumenta en gran medida la cantidad de E/S de la red y el volumen de datos. En Redis, estas operaciones complejas suelen ser tan eficientes como las
GET/SET ordinarias. Por lo tanto, si necesita un caché que pueda admitir estructuras y operaciones más complejas, Redis sería una buena opción.
1. Tanto Redis como Memcache almacenan datos en la memoria y son bases de datos en memoria. Pero Memcache también se puede utilizar para almacenar en caché otro contenido, como imágenes, vídeos, etc.
2. Redis no solo admite datos simples de tipo k/v, sino que también proporciona listas, conjuntos, hash y otras estructuras de datos para el almacenamiento.
3. Memoria virtual: cuando la memoria física de Redis se agota, algunos valores no utilizados a largo plazo se pueden intercambiar al disco
4 Política de caducidad: memcache en el conjunto. Si se especifica, por ejemplo, establezca key1 0 0 8, nunca caducará. Redis se puede configurar para que caduque, como el nombre de caducidad 10
5. Distribuido: configure un clúster de Memcache, use magent para hacer un maestro y múltiples esclavos; Puedes ser el maestro o el esclavo
6. Seguridad de los datos de almacenamiento: si Memcache cuelga, los datos desaparecerán; Redis puede guardarlos en el disco con regularidad (persistencia)
7. Recuperación ante desastres: Memcache se cuelga y los datos no se pueden recuperar; la pérdida de datos de Redis se puede recuperar a través de
8.Redis admite la copia de seguridad de datos, es decir, la copia de seguridad de datos en modo maestro-esclavo.
==================
Redis y Memcache, el servidor de prueba es un PC personal: configuración general (2CPU/2G memoria), el sistema operativo está instalado CentOS.
1. Cuando redis memcache está vacío
redis establece 100000 valores hora de inicio: 1311742106
redis establece 100000 valores hora: 1311742123 tiempo consumido: 16.8817
La hora de inicio de Memcache configurando 100000 valores: 1311742123
La hora de finalización de Memcache configurando 100000 valores: 1311742138 Consumo de tiempo: 15,2574
2. memcache tiene datos:
La hora de inicio para que redis establezca 100000 valores: 1311742721
La hora para que redis establezca 100000 valores.
1311742738 Consumo de tiempo: 17,3401
Hora de inicio de la configuración de Memcache 100000 valores: 1311742738
Hora de finalización de la configuración de Memcache 100000 valores: 1311742753 Consumo de tiempo: 15,6892
3. Pruebe la velocidad de adquisición de datos por redis y memcache respectivamente:
El tiempo de inicio para que la matriz de redis obtenga 100.000 valores: 1311742144
El tiempo para que la matriz de redis obtenga 100.000 valores: 1311742398 Consumo de tiempo: 253.9285
redis obtiene la hora de inicio de 100.000 valores uno por uno. :1311742398
Redis obtiene 100000 valores uno por uno Tiempo: 1311742414 Consumo de tiempo: 16,339
La matriz de Memcache obtiene 100000 valores Hora de inicio: 1311742414
La matriz de Memcache obtiene 100000 Hora de finalización de los valores: 1311742415 Consumo de tiempo: 0,8022
memcache obtiene 100000 valores uno por uno Hora de inicio: 1311742415
memcache obtiene 100000 valores uno por uno. por uno Hora de finalización: 1311742428 Consumo de tiempo: 13,38
Basado en los resultados de las pruebas anteriores. No hay mucha diferencia entre Redis y Memcache en términos de rendimiento de escritura. Memcache gana en términos de rendimiento de lectura, especialmente el rendimiento de lectura por lotes. Por supuesto, Redis también tiene sus propias ventajas: como la persistencia de datos y la compatibilidad con más estructuras de datos (Conjuntos). Lista ZSet).