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

Redis powoli zdobywa duże struny

Redis nie jest przeznaczony do przechowywania bardzo dużych obiektów. Nie powinieneś przechowywać całej swojej kolekcji w jednym ciągu w Redis, ale raczej użyć listy Redis lub ustawić jako kontener dla swoich obiektów.

Co więcej, format zalewy nie jest zoptymalizowany pod kątem miejsca ... potrzebujesz bardziej kompaktowego formatu. Bufory protokołów, MessagePack, a nawet zwykły JSON są prawdopodobnie lepsze do tego. Powinieneś rozważyć zastosowanie lekkiego algorytmu kompresji przed przechowywaniem danych (takich jak Snappy, LZO, Quicklz, LZF itp.).

Wreszcie wydajność jest prawdopodobnie związana z siecią. Na moim komputerze pobranie obiektu o wielkości 20 MB z Redis zajmuje 85 ms (nie 3 sekundy). Teraz, jeśli uruchomię ten sam test na zdalnym serwerze, zajmie to 1,781 sekundy, co jest oczekiwane w tej sieci 100 Mbit/s. Czas trwania jest w pełni zależny od przepustowości sieci.

Ostatni punkt:upewnij się, że korzystasz z najnowszej wersji Redis — wprowadzono szereg optymalizacji, aby poradzić sobie z dużymi obiektami.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Używasz Redis do implementacji logowania?

  2. wygasa klucz pamięci podręcznej redis w określonych godzinach, a nie w czasie trwania

  3. Tworzenie słuchacza redis - możliwe w php?

  4. Czy istnieje polecenie w Redis dla struktury danych HASH podobnej do MGET?

  5. Rekomendacje biblioteki klienta Redis do użytku ze Scala