Kort sagt
Det beror på.
Förklaring
Du kan ansluta till Redis Cluster-noder utan att kommandon skickas till andra noder. Du bör bara se till att du kommer åt nycklar som hanteras av noden. Om du ansluter till en slav, se till att din anslutning är i READONLY
läge, annars kommer slaven att svara med MOVED
.
Det finns gott om Java-baserade Redis-klienter:
Låg nivå
- Jedis - synkront API
- Sallat – asynkroniserings- och synkroniserings-API
- SRP
- JRedis
Hög nivå
- Spring Data Redis (använder Jedis, Sallad och SRP som drivrutiner)
- Redisson
...och många fler. Du kan hitta en mer omfattande lista över Java Redis-klienter på http://redis.io/clients#java
Vilken klient ska du ta?
Tja, detta beror mest på dina krav. Om du behöver "bara en klient" för kortlivade anslutningar, så kanske Jedis är rätt val för dig. Om du behöver flexibilitet, asynkrona svar och anpassade codecs kan sallad vara din vän.
Om du vill ta itu med Java-samlingar, lås och många fler, ta en titt på Spring Data Redis eller Redisson.
Vilket API ska du ta?
Beror också på dina krav. Redis-protokollet kan vara mer flexibelt än det memcachade protokollet eftersom Redis stöder fler datastrukturer.
HTH, Mark