sql >> Database teknologi >  >> NoSQL >> Redis

Er memcached en dinosaur i forhold til Redis?

Afhænger af hvad du har brug for, generelt tror jeg at:

  • Du bør ikke bekymre dig for meget om præstationer. Redis er hurtigere pr. kerne med små værdier, men memcached er i stand til at bruge flere kerner med en enkelt eksekverbar og TCP-port uden hjælp fra klienten. Også memcached er hurtigere med store værdier i størrelsesordenen 100k. Redis forbedrede for nylig meget om store værdier (ustabil gren), men memcached er stadig hurtigere i dette tilfælde. Pointen her er:hverken det ene eller det andet vil sandsynligvis være din flaskehals for den forespørgsel pr. sekund, de kan levere.
  • Du bør bekymre dig om hukommelsesbrug. For simple nøgleværdi-par er memcached mere hukommelseseffektiv. Hvis du bruger Redis-hash, er Redis mere hukommelseseffektiv. Afhænger af brugssituationen.
  • Du bør bekymre dig om persistens og replikering, to funktioner, der kun er tilgængelige i Redis. Selvom dit mål er at bygge en cache, hjælper det, at dine data stadig er der efter en opgradering eller en genstart.
  • Du bør bekymre dig om den slags operationer, du har brug for. I Redis er der en masse komplekse operationer, selv blot i betragtning af caching-brugssagen, kan du ofte gøre meget mere i en enkelt operation uden at kræve, at data skal behandles på klientsiden (meget I/O er nogle gange nødvendigt). Disse operationer er ofte lige så hurtige som almindelig GET og SET. Så hvis du ikke kun har brug for GET/SET, men mere komplekse ting, kan Redis hjælpe meget (tænk på tidslinjecaching).

Uden en use case er det svært at vælge den rigtige lige nu, men jeg tror, ​​at for mange ting giver Redis mening, da selv når du ikke ønsker at bruge det som en DB, kan du være meget dygtigere og løse flere problemer, ikke kun caching, men endda meddelelser, rangering og så videre.

P.s. selvfølgelig kunne jeg være forudindtaget, da jeg er hovedudvikleren af ​​Redis-projektet.



  1. Mongoose grænse/offset og optælling forespørgsel

  2. Stop Mongoose i at oprette _id-egenskaber for underdokumentarray-elementer

  3. Mongodb tæller adskilt med flere gruppefelter

  4. Hvad er den rigtige måde at lave en synkron MongoDB-forespørgsel i Node.js?