Redis
 sql >> база данни >  >> NoSQL >> Redis

Защо производителността на Redis SET е по-добра от GET?

Всъщност това е само ефект, че по подразбиране измервате повече I/O, отколкото действителното време за изпълнение на командата. Ако започнете да активирате конвейера в бенчмарка, това е малко повече мярка за действителната производителност на командите и числата ще се променят:

$ 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

Сега GET е по-бърз :-)

Трябва да включим конвейер в нашата страница с документ за сравнителен анализ.

РЕДАКТИРАНЕ: Това е още по-очевидно тук:

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

Тази команда осигурява време на процесора за вътрешно обслужване на заявката, без отчитане на I/O. SET се обработва три пъти по-бавно.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как мога да спра redis-сървъра?

  2. Не може да сканира с помощта на шаблона Redis

  3. Stackexchange.Redis защо ConnectionMultiplexer.Connect установява две клиентски връзки?

  4. Как да се свърже отново Redis клиент след рестартиране/мащабиране на Redis сървър

  5. Как да проверявате и отменяте задачи от Celery по име на задачата