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

Wie funktioniert ServiceStack Redis beim Abrufen von Daten?

Die Effizienz liegt in weniger Netzwerkanrufen vs. mehr Daten . Daten in Redis werden einfach geblobt, meistens bildet ein einzelner API-Aufruf 1:1 eine Redis-Serveroperation ab. Das bedeutet, dass Sie sich die Leistungsauswirkungen so vorstellen können, dass Sie einfach ein JSON-Dataset-Blob aus dem Speicher eines Remote-Servers herunterladen und es auf dem Client deserialisieren – was praktisch alles ist, was passiert.

In einigen APIs wie GetAll() sind zwei Aufrufe erforderlich, einer zum Abrufen aller IDs im Entitätssatz und der andere zum Abrufen aller Datensätze mit diesen IDs. Der Quellcode des Redis-Clients ist recht zugänglich, daher empfehle ich, einen Blick darauf zu werfen, um genau zu sehen, was passiert.

Da Sie nur 3 Kategorien haben, sparen Sie nicht so viele zusätzliche Daten, wenn Sie versuchen, auf dem Server zu filtern.

Ihre Optionen sind also im Wesentlichen:

  • Laden Sie das gesamte Entitäts-Dataset herunter und filtern Sie nach Client
  • Bearbeiten Sie eine benutzerdefinierte Indexzuordnung von Kategorie> IDs
  • Erweitert:Verwenden Sie eine serverseitige LUA-Operation, um eine serverseitige Filterung anzuwenden (erfordert Redis 2.6)