Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Ist memcached ein Dinosaurier im Vergleich zu Redis?

Hängt davon ab, was Sie brauchen, im Allgemeinen denke ich, dass:

  • Sie sollten sich nicht zu sehr um Auftritte kümmern. Redis ist bei kleinen Werten pro Kern schneller, aber memcached ist in der Lage, mehrere Kerne mit einer einzigen ausführbaren Datei und einem TCP-Port ohne Hilfe des Clients zu verwenden. Auch memcached ist bei großen Werten in der Größenordnung von 100k schneller. Redis hat sich kürzlich stark in Bezug auf große Werte (instabiler Zweig) verbessert, aber Memcached ist in diesem Anwendungsfall immer noch schneller. Der Punkt hier ist:Weder der eine noch der andere wird wahrscheinlich Ihr Flaschenhals für die Abfragen pro Sekunde sein, die sie liefern können.
  • Sie sollten sich um die Speichernutzung kümmern. Für einfache Schlüssel-Wert-Paare ist memcached speichereffizienter. Wenn Sie Redis-Hashes verwenden, ist Redis speichereffizienter. Hängt vom Anwendungsfall ab.
  • Sie sollten sich um Persistenz und Replikation kümmern, zwei Funktionen, die nur in Redis verfügbar sind. Auch wenn Ihr Ziel darin besteht, einen Cache zu erstellen, hilft es, dass Ihre Daten nach einem Upgrade oder Neustart noch vorhanden sind.
  • Sie sollten sich um die Art der Operationen kümmern, die Sie benötigen. In Redis gibt es viele komplexe Operationen, selbst wenn man nur den Caching-Anwendungsfall betrachtet, können Sie oft viel mehr in einer einzigen Operation erledigen, ohne dass Daten clientseitig verarbeitet werden müssen (manchmal ist viel I/O erforderlich). Diese Operationen sind oft so schnell wie einfaches GET und SET. Wenn Sie also nicht nur GET/SET benötigen, sondern komplexere Dinge, kann Redis sehr hilfreich sein (denken Sie an Timeline-Caching).

Ohne einen Anwendungsfall ist es im Moment schwer, den richtigen auszuwählen, aber ich denke, dass Redis für viele Dinge sinnvoll ist, da Sie selbst dann, wenn Sie es nicht als Datenbank verwenden möchten, viel leistungsfähiger sind und mehr Probleme lösen können. nicht nur Caching, sondern sogar Messaging, Ranking und so weiter.

Ps. Natürlich könnte ich voreingenommen sein, da ich der leitende Entwickler des Redis-Projekts bin.