sql >> Databáze >  >> NoSQL >> Redis

Proč je výkon Redis SET lepší než GET?

Ve skutečnosti se jedná pouze o efekt, že ve výchozím nastavení měříte více I/O, než je skutečný čas provádění příkazu. Pokud v benchmarku začnete povolovat zřetězení, je to o něco více měřítkem skutečného výkonu příkazu a čísla se změ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

Nyní je GET rychlejší :-)

Do naší stránky srovnávacího dokumentu bychom měli zahrnout zřetězení.

UPRAVIT: Zde je to ještě patrnější:

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

Tento příkaz poskytuje procesorový čas pro interní obsluhu požadavku bez zohlednění I/O. SET se zpracovává třikrát pomaleji.




  1. Cizí klíče v mongo?

  2. Jak nakonfigurovat redis-cluster při použití spring-data-redis 1.7.0.M1

  3. Tipy pro spuštění MongoDB v produkci pomocí změnových streamů

  4. Mongo DB najít podle názvu pole s libovolnou hodnotou