de alto rendimiento
Suponga un escenario de este tipo, que tiene una operación, una petición vino, todo tipo de desorden que las consultas de acción Hangchikengchi MySQL, echa un vistazo a la mitad resultado, 600ms que consumen mucho tiempo. Sin embargo, los resultados no pueden convertirse en las próximas horas, o puede ser cambiado sin retroalimentación inmediata para el usuario. Así que esta vez se supone que?
Caché ah, tirar el resultado de 600ms echa un vistazo, caché de tiro, una clave correspondiente a un valor, la próxima vez que alguien compruebe los mismos datos, no se vaya MySQL lanzar una 600ms. Tomada directamente de la memoria caché, a través de un registro de salida un valor clave, 2ms reciben. 300 veces a aumentar el rendimiento.
Esto se llama un alto rendimiento.
alta concurrencia
base de datos MySQL tan pesado, simplemente no diseñado para permitir que usted juegue alta concurrente, aunque también se puede jugar, pero el apoyo natural no es buena. mysql 2000qps individuales iniciadas fácilmente compatibles con la policía.
Así que combinar la escena y tal vez pensar en ello, ¿por qué se utiliza la memoria caché?
análisis
La diferencia entre (1) redis y la memcached
el modo de clúster : memcached racimo sin modo nativo, se debe confiar en el cliente para datos de escritura para conseguir las piezas de racimo tallada, pero ReDiS actualmente es el soporte nativo para el modo de clúster.
Memcached es multi-hilo, de no bloqueo IO red modelo de reutilización; Redis uso de varios canales de un solo subproceso multiplexa modelo IO
(2) ¿Por qué REDIS modelo single-roscado puede eficientemente tan alto?
1) operación de la memoria pura
2) El núcleo se basa en el mecanismo de multiplexación IO no bloqueante
3) de una sola rosca en vez de evitar el contexto frecuente conmutación cuestiones multithreading (Baidu)