Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Jak działa ServiceStack Redis w pobieraniu danych?

Wydajność to mniej połączeń sieciowych kontra więcej danych . Dane w Redis są po prostu blobowane, w większości przypadków pojedyncze wywołanie interfejsu API mapuje 1:1 z operacją serwera Redis. Oznacza to, że możesz myśleć o implikacjach wydajności jako po prostu pobieraniu obiektu blob zestawu danych json z pamięci zdalnego serwera i deserializacji go na kliencie - co w rzeczywistości się dzieje.

W niektórych interfejsach API, takich jak GetAll(), wymaga 2 wywołań, 1 do pobrania wszystkich identyfikatorów w zestawie Entity, a drugiego do pobrania wszystkich rekordów z tymi identyfikatorami. Kod źródłowy klienta Redis jest dość przystępny, więc polecam przyjrzeć się dokładnie, co się dzieje.

Ponieważ masz tylko 3 kategorie, nie oszczędzasz zbyt wielu dodatkowych danych, próbując filtrować na serwerze.

Masz więc następujące opcje:

  • Pobierz cały zestaw danych encji i filtruj na kliencie
  • Utrzymuj niestandardowe mapowanie indeksu z kategorii> Identyfikatory
  • Bardziej zaawansowane:użyj operacji LUA po stronie serwera, aby zastosować filtrowanie po stronie serwera (wymaga Redis 2.6)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kolejność wykonywania potokowa Redis

  2. Jak zaimplementować funkcję limitu czasu pubsub w redis?

  3. Jakie są podstawowe struktury danych używane w Redis?

  4. Jak ustawić wygaśnięcie wielu kluczy w Redis

  5. jak mogę przekazać nieskończoność do redis z Pythona?