We already refer to this link https://github.com/ServiceStack/ServiceStack.Redis#read-only-clients to use method GetClient for write operation and GetReadOnlyClient for read operation
then we try check server role using method GetServerRole for make sure we use correct role.
RedisManagerPool only returns connections to read/write master, you’d need to leave RedisSentinel to use PooledRedisClientManager to return readonly slave connections.
But how we manage in code if we leave RedisSentinel to use PooledRedisClientManage when Pod Master down and become to slave, then sentinel vote one of slave become master ?
And how about connection string because we connect to name of service? still use redis-sentinel-app service ?
By default RedisSentinel is configured to use PooledRedisClientManager as its RedisManagerFactory, your screenshot with the red arrow points to where you’ve overridden it to use RedisManagerPool which only returns master connections. If you don’t override it, it will go back to using PooledRedisClientManager again.