A smart client for Redis cluster will "take persistent connections to many nodes, will cache hashslot -> node info, and will update the table when they receive a -MOVED error".
I checked numerous documents but can't find a definitive answer on whether Stackexchange.Redis is a smart client. Can anyone advice? Thanks.
I am using Stackexchange.Redis client in my web application to connect to Redis cluster having 6 instances of Redis servers. Stackexchange.Redis client works perfectly with Redis cluster and we did not get -MOVED error.
Related
Can anyone explain to me what is aware client in Redis Enterprise ?
I found this post: Redis Enterprise Clustering Command Error 'CLUSTER'
I try to use Redis Enterprise Cluster with docker.
I create 3 docker redis nodes with two shards for better scalability.
So what exactly is that aware client and what is the difference between non-cluster aware ?
Also, what is regular OSS cluster ?
Thank You..
"Cluster Aware" means a Redis client that supports the OSS Cluster API (https://redis.io/topics/cluster-spec). For example, the Ruby client https://github.com/redis/redis-rb#cluster-support supports it.
A non-aware client is a client that only supports connecting to Redis in single-instance mode (and perhaps Sentinel), such as the Python client https://github.com/andymccurdy/redis-py.
The Enterprise Cluster can be used by both types of clients regardless of how the database is deployed (i.e. clustered or not).
To clear some more of the confusion:
OSS Cluster - a mode of deployment and API (i.e. not single-instance)
Enterprise Cluster - a product
My situation is this:
Site "A" (Romania): multiple apphost (1 per PC) exanging serverevents using Redis Backpane.
Site "B" (Turkey): multiple apphost (1 per PC) exanging serverevents using Redis Backpane.
Now, I need to create on Site "0" (italy) a "collector" of all sites serverevents. How can I do it? Is it possible?
I am using ServiceStack 5.4.0 with MSOpenTech Redis 3.0.
ServiceStack's Redis Server Events lets you connect to a Redis Master instance either directly or via Redis Sentinel but doesn't support having AppHosts connect to the same geographically distributed Redis cluster.
I am using ServiceStack 5.0.2 with Redis Sentinel (3 + 3) and having issues in case of a failover: commands being issued during or after a failover fail with timeout.
I have come up with an idea to implement retry pattern via custom IRedisClient. But probably there is a better strategy to employ in this case.
Answer given in the post How does ServiceStack PooledRedisClientManager failover work? does not seem to be the right way to go.
Thank you,
Redis Clients wrap a TCP connection with a Redis Server, a Redis Client that was connected with the instance that failed over will fail, but any new Redis Clients retrieved from the pool after failover will be connected to the new failed over instance.
How to get all connected clients of a redis cluster?
I am using AWS elasticCache redis with non cluster mode and redission as my redis client.
My Use Case:
I need to run specific code from only 1 connected redis client.
Thanks
redis has command about client information like CLIENT LIST, check out this page .
you could checkout this page for the command redisson has not supported yet.
I have deployed my application on SAP Cloud Foundary which creates connection with Redis Multinode instance running on the cloud.
The application can push and fetch data from Redis successfully.
Now I want to check high availability of Redis Nodes by crashing nodes of redis one by one (cloud has the instance of Redis with 3 nodes, 1 being master and other 2 as its slave).
I have been trying to crash anyone of the nodes by using redis-cli, ssh connection but could not get success in that.
Can anyone please help me to know how to crash any single node of Redis cluster in SAP cloud environment?
Any help would be appreciated.
Thanks :)