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

Jak połączyć posortowane zestawy Redis?

Można to zrobić na kilka sposobów, ale właściwy zależy od tego, co chcesz zrobić. Na przykład:

  1. Możesz użyć ZRANGEBYSCORE (lub ZREVRANGEBYSCORE) w swoim kodzie dla każdego FEED:USER:n klucz i "scal" odpowiedzi w kliencie
  2. Możesz zrobić ZUNIONSTORE na odpowiednich kluczach, a następnie wykonać ZRANGEBYSCORE na wyniku z klienta.
  3. Jeśli jednak Twoje „pliki” są duże, przepływ nr 2 powinien zostać odwrócony – najpierw zakres, a potem suma.
  4. Możesz również wykonać podobne typy przetwarzania całkowicie po stronie serwera z niektórymi skryptami Lua.

EDYCJA:dalsze wyjaśnienia

Odnośnie. 1 - Scalanie można wykonać po stronie klienta na wynikach uzyskanych z ZRANGEBYSCORE lub można to zrobić za pomocą skryptów Lua po stronie serwera. Użyj funkcji WITHSCORES, aby uzyskać sygnaturę czasową i scalić/sortować na niej. Bez względu na wybraną przez Ciebie lokalizację do uruchomienia tego kodu (prawdopodobnie użyłbym Lua do lokalizacji danych), implementacja zależy od Ciebie - lmk, jeśli potrzebujesz w tym pomocy :)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. doRedis z dziwnym błędem połączenia z gniazdem w Ubuntu Linux, R i RStudio

  2. Jak skonfigurować Yii2 z konfiguracją Redis?

  3. Jak niszczyć miejsca pracy z kolejek pracowników resque?

  4. jak zdobyć wszystkie klucze i wartości w redis w javascript?

  5. StackExchange TimeoutException podczas próby wstawienia 750 elementów w 2 zestawach w redis