Resumindo
Depende.
Explicação
Você pode se conectar a nós do Redis Cluster sem enviar comandos para outros nós. Você apenas deve certificar-se de acessar as chaves que são tratadas pelo nó. Se você estiver se conectando a um escravo, certifique-se de que sua conexão esteja em
READONLY
modo, caso contrário o escravo responderá com MOVED
. Há muitos clientes Redis baseados em Java:
Nível baixo
- Jedis - API síncrona
- Alface - API assíncrona e de sincronização
- SRP
- JRedis
Alto Nível
- Spring Data Redis (usa Jedis, Lettuce e SRP como drivers)
- Redisson
...e muitos mais. Você pode encontrar uma lista mais abrangente de clientes Java Redis em http://redis.io/clients#java
Qual cliente você deve escolher?
Bem, isso depende principalmente de suas necessidades. Se você precisa de "apenas um cliente" para conexões de curta duração, talvez Jedis seja a escolha certa para você. Se você precisa de flexibilidade, respostas assíncronas e codecs personalizados, a alface pode ser sua amiga.
Se você quiser lidar com Java Collections, Locks e muito mais, dê uma olhada no Spring Data Redis ou Redisson.
Qual API você deve usar?
Depende também de suas necessidades. O protocolo Redis pode ser mais flexível que o protocolo memcached, pois o Redis suporta mais estruturas de dados.
HTH, Marcos