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

Redis hash velocidad de escritura muy lenta

Debe pensar un poco más sobre lo que realmente compara con este programa. Puedo decirle que no es Redis, sino la capacidad de su sistema para ejecutar un juego de ping pong entre dos procesos (porque todas sus llamadas hsetnx son síncronas).

Lea esta página antes de intentar comparar Redis, definitivamente lo ayudará.

Su suposición de que la velocidad de Redis debería acercarse a la velocidad de escritura de la RAM es algo ingenua. Redis es un control remoto store, y para las operaciones O(1), la mayor parte de los gastos generales se deben a los costos de comunicación. Para el tráfico sincrónico (como su ejemplo), también se debe al costo del programador del sistema operativo.

Si desea aplicar muchos comandos en secuencia, debe usar canalización. O si no le importa la secuencia, puede trabajar simultáneamente con varias conexiones (este es el modo predeterminado para redis-benchmark). O puede intentar enviar comandos asincrónicos en su lugar. En todos los casos, la idea es amortizar el costo de los viajes de ida y vuelta al servidor de Redis

Con canalización en varias conexiones con tráfico asíncrono, obtendrá el rendimiento máximo que Redis puede lograr en esta máquina.