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

Redis-Cache im Vergleich zur direkten Verwendung des Arbeitsspeichers

Redis ist eine Fernbedienung Datenstrukturserver. Es ist sicherlich langsamer als nur das Speichern der Daten im lokalen Speicher (da es Socket-Roundtrips zum Abrufen/Speichern der Daten beinhaltet). Allerdings bringt es auch einige interessante Eigenschaften mit sich:

  • Auf Redis kann von allen Prozessen Ihrer Anwendungen zugegriffen werden, die möglicherweise auf mehreren Knoten ausgeführt werden (etwas, was der lokale Speicher nicht leisten kann).

  • Redis-Speicher ist sehr effizient und erfolgt in einem separaten Prozess. Wenn die Anwendung auf einer Plattform läuft, deren Speicher Garbage Collection ist (node.js, Java usw.), ermöglicht sie die Handhabung eines viel größeren Speicher-Cache/-Speichers. In der Praxis funktionieren sehr große Heaps mit Garbage Collection-Sprachen nicht gut.

  • Redis kann die Daten bei Bedarf auf der Festplatte speichern.

  • Redis ist ein bisschen mehr als ein einfacher Cache:Es bietet verschiedene Datenstrukturen, verschiedene Richtlinien zum Entfernen von Elementen, blockierende Warteschlangen, Pub/Sub, Atomizität, Lua-Skripting usw.

  • Redis kann seine Aktivität mit einem Master/Slave-Mechanismus replizieren, um Hochverfügbarkeit zu implementieren.

Wenn Ihre Anwendung auf mehreren Knoten skaliert werden soll, die dieselben Daten gemeinsam nutzen, ist grundsätzlich etwas wie Redis (oder ein anderer Remote-Schlüssel/Wert-Speicher) erforderlich.