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

¿Por qué el rendimiento de Redis SET es mejor que el de GET?

En realidad, esto es solo un efecto de que, de forma predeterminada, mide más E/S que el tiempo real de ejecución del comando. Si comienza a habilitar la canalización en el punto de referencia, es un poco más la medida del rendimiento real del comando, y los números cambiarán:

$ redis-benchmark -q -n 1000000 -P 32 set foo bar
set foo bar: 338964.03
$ redis-benchmark -q -n 1000000 -P 32 get foo
get foo: 432713.09 requests per second

Ahora GET es más rápido :-)

Deberíamos incluir canalización en nuestra página de documentos de referencia.

EDITAR: Esto es aún más evidente aquí:

redis 127.0.0.1:6379> info commandstats
# Commandstats
cmdstat_get:calls=1001568,usec=221845,usec_per_call=0.22
cmdstat_set:calls=831104,usec=498235,usec_per_call=0.60

Este comando proporciona tiempo de CPU para atender la solicitud internamente, sin tener en cuenta la E/S. SET es tres veces más lento de procesar.