Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit b5f835a

Browse files
committed
Make non-destructive replacements to replica
1 parent 0ef2299 commit b5f835a

22 files changed

+266
-768
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ Any connections required after the maximum Pool size has been reached will be cr
141141
### PooledRedisClientManager
142142

143143
If you prefer to define options on the Client Manager itself or you want to provide separate Read/Write and ReadOnly
144-
(i.e. Master and Slave) redis-servers, use the `PooledRedisClientManager` instead:
144+
(i.e. Master and Replica) redis-servers, use the `PooledRedisClientManager` instead:
145145

146146
```csharp
147147
container.Register<IRedisClientsManager>(c =>
@@ -248,7 +248,7 @@ By default RedisSentinel uses a `PooledRedisClientManager`, this can be changed
248248
newer `RedisManagerPool` with:
249249

250250
```csharp
251-
sentinel.RedisManagerFactory = (master,slaves) => new RedisManagerPool(master);
251+
sentinel.RedisManagerFactory = (master,replicas) => new RedisManagerPool(master);
252252
```
253253

254254
### Start monitoring Sentinels

src/ServiceStack.Redis/BasicRedisClientManager.ICacheClient.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ namespace ServiceStack.Redis
1919
/// <summary>
2020
/// BasicRedisClientManager for ICacheClient
2121
///
22-
/// For more interoperabilty I'm also implementing the ICacheClient on
22+
/// For more interoperability I'm also implementing the ICacheClient on
2323
/// this cache client manager which has the affect of calling
2424
/// GetCacheClient() for all write operations and GetReadOnlyCacheClient()
2525
/// for the read ones.
2626
///
27-
/// This works well for master-slave replication scenarios where you have
28-
/// 1 master that replicates to multiple read slaves.
27+
/// This works well for master-replica replication scenarios where you have
28+
/// 1 master that replicates to multiple read replicas.
2929
/// </summary>
3030
public partial class BasicRedisClientManager
3131
: ICacheClient

src/ServiceStack.Redis/BasicRedisResolver.cs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using ServiceStack.Logging;
5-
using ServiceStack.Text;
65

76
namespace ServiceStack.Redis
87
{
@@ -16,21 +15,15 @@ public class BasicRedisResolver : IRedisResolver, IRedisResolverExtended
1615
public int ReadOnlyHostsCount { get; private set; }
1716

1817
private RedisEndpoint[] masters;
19-
private RedisEndpoint[] slaves;
18+
private RedisEndpoint[] replicas;
2019

21-
public RedisEndpoint[] Masters
22-
{
23-
get { return masters; }
24-
}
25-
public RedisEndpoint[] Slaves
26-
{
27-
get { return slaves; }
28-
}
20+
public RedisEndpoint[] Masters => masters;
21+
public RedisEndpoint[] Replicas => replicas;
2922

30-
public BasicRedisResolver(IEnumerable<RedisEndpoint> masters, IEnumerable<RedisEndpoint> slaves)
23+
public BasicRedisResolver(IEnumerable<RedisEndpoint> masters, IEnumerable<RedisEndpoint> replicas)
3124
{
3225
ResetMasters(masters.ToList());
33-
ResetSlaves(slaves.ToList());
26+
ResetSlaves(replicas.ToList());
3427
ClientFactory = RedisConfig.ClientFactory;
3528
}
3629

@@ -56,13 +49,13 @@ public virtual void ResetSlaves(IEnumerable<string> hosts)
5649
ResetSlaves(hosts.ToRedisEndPoints());
5750
}
5851

59-
public virtual void ResetSlaves(List<RedisEndpoint> newSlaves)
52+
public virtual void ResetSlaves(List<RedisEndpoint> newReplicas)
6053
{
61-
slaves = (newSlaves ?? TypeConstants<RedisEndpoint>.EmptyList).ToArray();
62-
ReadOnlyHostsCount = slaves.Length;
54+
replicas = (newReplicas ?? TypeConstants<RedisEndpoint>.EmptyList).ToArray();
55+
ReadOnlyHostsCount = replicas.Length;
6356

6457
if (log.IsDebugEnabled)
65-
log.Debug("New Redis Slaves: " + string.Join(", ", slaves.Map(x => x.GetHostString())));
58+
log.Debug("New Redis Replicas: " + string.Join(", ", replicas.Map(x => x.GetHostString())));
6659
}
6760

6861
public RedisClient CreateRedisClient(RedisEndpoint config, bool master)
@@ -78,7 +71,7 @@ public RedisEndpoint GetReadWriteHost(int desiredIndex)
7871
public RedisEndpoint GetReadOnlyHost(int desiredIndex)
7972
{
8073
return ReadOnlyHostsCount > 0
81-
? slaves[desiredIndex % slaves.Length]
74+
? replicas[desiredIndex % replicas.Length]
8275
: GetReadWriteHost(desiredIndex);
8376
}
8477

0 commit comments

Comments
 (0)