diff --git a/src/core/StackExchange.Redis.Extensions.Core/Implementations/RedisConnectionPoolManager.cs b/src/core/StackExchange.Redis.Extensions.Core/Implementations/RedisConnectionPoolManager.cs index 1f875cf0..c4fcde5f 100644 --- a/src/core/StackExchange.Redis.Extensions.Core/Implementations/RedisConnectionPoolManager.cs +++ b/src/core/StackExchange.Redis.Extensions.Core/Implementations/RedisConnectionPoolManager.cs @@ -21,7 +21,6 @@ public sealed partial class RedisConnectionPoolManager : IRedisConnectionPoolMan private readonly IStateAwareConnection[] connections; private readonly RedisConfiguration redisConfiguration; private readonly ILogger logger; - private readonly Random random = new(); private bool isDisposed; /// @@ -71,7 +70,12 @@ public IConnectionMultiplexer GetConnection() switch (redisConfiguration.ConnectionSelectionStrategy) { case ConnectionSelectionStrategy.RoundRobin: - var nextIdx = random.Next(0, redisConfiguration.PoolSize); + var nextIdx +#if NET6_0_OR_GREATER + = Random.Shared.Next(0, redisConfiguration.PoolSize); +#else + = new Random().Next(0, redisConfiguration.PoolSize); +#endif connection = connections[nextIdx]; break;