En bref
Cela dépend.
Explication
Vous pouvez vous connecter aux nœuds du cluster Redis sans envoyer de commande aux autres nœuds. Vous devez simplement vous assurer que vous accédez aux clés gérées par le nœud. Si vous vous connectez à un esclave, assurez-vous que votre connexion est en READONLY
mode, sinon l'esclave répondra par MOVED
.
Il existe de nombreux clients Redis basés sur Java :
Niveau bas
- Jedis - API synchrone
- Laitue – API asynchrone et de synchronisation
- SRP
- JRedis
Haut niveau
- Spring Data Redis (utilise Jedis, Lettuce et SRP comme pilotes)
- Redisson
...et beaucoup plus. Vous pouvez trouver une liste plus complète des clients Java Redis sur http://redis.io/clients#java
Quel client devriez-vous prendre ?
Eh bien, cela dépend principalement de vos besoins. Si vous avez besoin de "juste un client" pour des connexions de courte durée, alors peut-être que Jedis est le bon choix pour vous. Si vous avez besoin de flexibilité, de réponses asynchrones et de codecs personnalisés, alors la laitue pourrait être votre ami.
Si vous souhaitez gérer les collections Java, les verrous et bien d'autres, jetez un œil à Spring Data Redis ou Redisson.
Quelle API devriez-vous choisir ?
Dépend aussi de vos exigences. Le protocole Redis peut être plus flexible que le protocole memcached car Redis prend en charge davantage de structures de données.
HTH, Marc