Kurz gesagt
Es kommt darauf an.
Erklärung
Sie können eine Verbindung zu Redis-Cluster-Knoten herstellen, ohne dass Befehle an andere Knoten gesendet werden. Sie sollten nur sicherstellen, dass Sie auf Schlüssel zugreifen, die vom Knoten verwaltet werden. Wenn Sie sich mit einem Slave verbinden, stellen Sie sicher, dass Ihre Verbindung in READONLY
ist Modus, sonst antwortet der Slave mit MOVED
.
Es gibt viele Java-basierte Redis-Clients:
Niedrige Stufe
- Jedis - synchrone API
- Lettuce – Asynchron- und Synchronisierungs-API
- SRP
- JRedis
Hohes Niveau
- Spring Data Redis (verwendet Jedis, Lettuce und SRP als Treiber)
- Redison
...und viele mehr. Eine umfassendere Liste von Java Redis-Clients finden Sie unter http://redis.io/clients#java
Welchen Kunden sollten Sie nehmen?
Nun, das hängt hauptsächlich von Ihren Anforderungen ab. Wenn Sie „nur einen Client“ für kurzlebige Verbindungen benötigen, ist Jedis vielleicht die richtige Wahl für Sie. Wenn Sie Flexibilität, asynchrone Antworten und benutzerdefinierte Codecs benötigen, ist Salat vielleicht Ihr Freund.
Wenn Sie sich mit Java Collections, Locks und vielem mehr auseinandersetzen wollen, dann werfen Sie einen Blick auf Spring Data Redis oder Redisson.
Welche API sollten Sie nehmen?
Hängt auch von Ihren Anforderungen ab. Das Redis-Protokoll ist möglicherweise flexibler als das Memcache-Protokoll, da Redis mehr Datenstrukturen unterstützt.
HTH, Markus