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

Динозавър ли е memcached в сравнение с Redis?

Зависи от какво имате нужда, като цяло мисля, че:

  • Не бива да се интересувате твърде много от изпълненията. Redis е по-бърз на ядро ​​с малки стойности, но memcached може да използва множество ядра с един изпълним файл и TCP порт без помощ от клиента. Също така memcached е по-бърз с големи стойности от порядъка на 100k. Redis наскоро подобри много за големите стойности (нестабилен клон), но все пак memcached е по-бърз в този случай на употреба. Въпросът тук е:нито едното, нито другото вероятно няма да ви бъдат пречка за заявката в секунда, която могат да доставят.
  • Трябва да се грижите за използването на паметта. За прости двойки ключ-стойност memcached е по-ефективен от паметта. Ако използвате хешове на Redis, Redis е по-ефективен от паметта. Зависи от случая на употреба.
  • Трябва да се грижите за постоянството и репликацията, две функции, налични само в Redis. Дори ако целта ви е да изградите кеш, това помага, че след надстройка или рестартиране данните ви все още са там.
  • Трябва да се интересувате от вида операции, от които се нуждаете. В Redis има много сложни операции, дори само като се има предвид случая на използване на кеширане, често можете да направите много повече с една операция, без да изисквате обработката на данните от страна на клиента (понякога са необходими много I/O). Тези операции често са толкова бързи, колкото обикновените GET и SET. Така че, ако не се нуждаете само от GET/SET, а от по-сложни неща, Redis може да помогне много (помислете за кеширането на времевата линия).

Без случай на употреба е трудно да се избере правилния в момента, но мисля, че за много неща Redis има смисъл, тъй като дори когато не искате да го използвате като DB, като сте много по-способни, можете да решите повече проблеми, не само кеширане, но дори и съобщения, класиране и т.н.

P.s. разбира се, бих могъл да бъда предубеден, тъй като съм главният разработчик на проекта Redis.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Трябва ли `StackExchange.Redis.ConnectionMultiplexer` да бъде `AddSingleton` или `AddScope` в .NET Core инжекция на зависимост?

  2. Как да запишете само една база данни в Redis?

  3. php-redis - Има ли начин да се съхранява PHP обект в Redis, без да се сериализира?

  4. Docker не успява да стартира релсите

  5. Как да стартирате redis-сървър на различен порт от порта по подразбиране 6379 в ubuntu