W skrócie
To zależy.
Wyjaśnienie
Z węzłami klastra Redis można łączyć się bez wysyłania poleceń do innych węzłów. Powinieneś tylko upewnić się, że masz dostęp do kluczy obsługiwanych przez węzeł. Jeśli łączysz się z urządzeniem podrzędnym, upewnij się, że Twoje połączenie jest w READONLY
tryb, w przeciwnym razie urządzenie podrzędne odpowie komunikatem MOVED
.
Istnieje wiele klientów Redis opartych na Javie:
Niski poziom
- Jedis — synchroniczne API
- Sałata — asynchroniczny i synchronizujący interfejs API
- SRP
- JRedis
Wysoki poziom
- Spring Data Redis (używa Jedis, Lettuce i SRP jako sterowników)
- Ponowne rozdzielenie
...i wiele więcej. Pełniejszą listę klientów Java Redis można znaleźć pod adresem http://redis.io/clients#java
Którego klienta wybrać?
Cóż, to zależy głównie od twoich wymagań. Jeśli potrzebujesz „tylko klienta” do krótkotrwałych połączeń, być może Jedis jest dla Ciebie właściwym wyborem. Jeśli potrzebujesz elastyczności, asynchronicznych odpowiedzi i niestandardowych kodeków, sałata może być Twoim przyjacielem.
Jeśli chcesz zająć się kolekcjami Java, blokadami i wieloma innymi, spójrz na Spring Data Redis lub Redisson.
Który interfejs API należy wybrać?
Zależy również od Twoich wymagań. Protokół Redis może być bardziej elastyczny niż protokół memcached, ponieważ Redis obsługuje więcej struktur danych.
HTH, Mark