According to this thread, Jedis jest najlepszą rzeczą do wykorzystania, jeśli chcę używać Redis z Java.Czy istnieje osadzalna alternatywa Java dla Redis?
Jednak zastanawiałem się, czy istnieją jakieś biblioteki/pakiety zapewniające podobnie wydajne operacje zestawów do tych, które już istnieją w Redis, ale mogą być bezpośrednio osadzone w aplikacji Java bez potrzeby konfigurowania oddzielnych serwerów. (tj. przy użyciu Jetty dla serwera WWW).
Aby być bardziej precyzyjnym, chciałbym być w stanie zrobić to skutecznie następujący:
- Istnieje duży zbiór użytkowników M (M nie wiadomo z góry).
- Istnieje duży zestaw N pozycji.
- Chcemy, aby użytkownicy sprawdzali przedmioty, po jednym użytkowniku/elemencie naraz, co daje zapisany wynik (w normalnej bazie danych).
- Za każdym razem, gdy użytkownik przyjedzie, chcemy przypisać temu użytkownikowi przedmiot z najmniejsza liczba istniejących wyników, których użytkownik jeszcze nie widział. Daje to przybliżony przydział przedmiotów w kolejności do wszystkich przybywających użytkowników, gdy zależy nam tylko na tym, aby wszystkie przedmioty były oglądane mniej więcej tyle samo razy.
Powyższe dzieje się w sposób równoległy. Gdy M i N są duże, Redis osiąga powyższe wyniki znacznie wydajniej niż zapytania SQL. Czy jest jakiś sposób, aby to zrobić za pomocą wbudowanej biblioteki Java, która jest nieco bardziej lekka niż uruchomienie serwera Redis?
Rozumiem, że można napisać stos kodu za pomocą bibliotek współbieżności Java, które z grubsza przybliżają to (i do pewnego stopnia ja to zrobiłem), ale nie jest to dokładnie to, czego szukam tutaj.
Brzmi bardzo interesujące ... więc mogę uruchomić instancję jednego węzła tylko dla lokalnych wyszukiwań i rzeczy? Sprawdzę to. –
@AndrewMao Tak, obsługuje pojedynczy węzeł. Dodałem też link do struktury danych Gauva's Table. powodzenia i szczęśliwego polowania :-) – eSniff