I was initially using Redis
in cluster mode at production. But later I realised that if I use Redis independent servers
using ShardedJedis java API
, I can use ShardedJedisPipeline
which has better performance due to obvious reasons.
But while using Redis Server
to maintain automatic fail over and high availability, I must use Redis Sentinel
. So, I started looking into Sentinel
. But while doing the initial POC
, I got to know that I can not use ShardedJedis
and Sentinel
at the same time.
Now it seems that all my paths are closed as
Redis Cluster
does not support PipelineSentinel
Sentinel
with ShardedJedis
.Please correct me if I am wrong anywhere and please suggest me the best strategy to achieve performance as well as high availability and automatic fail over.
Spoken in general terms:
MULTI
or EXEC
) are a no-go for Redis ClusterAFAIK, Redisson has an automated topology-update mechanism. I'm not sure, whether Jedis updates it's cluster view on a regular basis, but it's possible to do this manually. lettuce has a auto-reconnect feature and the automated cluster view update is scheduled for the 3.3 release
HTH.