Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Dlaczego wydajność Redis SET jest lepsza niż GET?

W rzeczywistości jest to tylko efekt, który domyślnie mierzy więcej we/wy niż rzeczywisty czas wykonania polecenia. Jeśli zaczniesz włączać potokowanie w benchmarku, będzie to nieco bardziej miara rzeczywistej wydajności polecenia, a liczby ulegną zmianie:

$ 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

Teraz GET jest szybszy :-)

Powinniśmy uwzględnić potokowanie na naszej stronie z dokumentacją porównawczą.

EDYTUJ: Tutaj jest to jeszcze bardziej widoczne:

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

To polecenie zapewnia czas procesora na obsługę żądania wewnętrznie, bez uwzględniania operacji we/wy. Przetwarzanie SET jest trzy razy wolniejsze.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wyeksportować klucze Redis jako CSV za pomocą CLI

  2. Szukasz rozwiązania między ustawianiem wielu liczników czasu lub korzystaniem z kolejki zaplanowanych zadań

  3. SQL vs NoSQL dla systemu zarządzania zapasami

  4. Laravel:Jak sprawdzić dostępność Redisa?

  5. implementacja pamięci podręcznej poza procesem przy użyciu Redis w systemie Windows Azure