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

Commit 1320326

Browse files
committed
Fix cyclical recursive error
1 parent 4f588a4 commit 1320326

File tree

3 files changed

+48
-4
lines changed

3 files changed

+48
-4
lines changed

src/ServiceStack.Redis/RedisClientManagerCacheClient.Async.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ private ValueTask<IRedisClientAsync> GetClientAsync(in CancellationToken token)
2323

2424
async Task<T> ICacheClientAsync.GetAsync<T>(string key, CancellationToken token)
2525
{
26-
await using var client = await redisManager.GetReadOnlyCacheClientAsync(token).ConfigureAwait(false);
26+
await using var client = await redisManager.GetReadOnlyClientAsync(token).ConfigureAwait(false);
2727
return await client.GetAsync<T>(key, token).ConfigureAwait(false);
2828
}
2929

@@ -53,7 +53,7 @@ async Task ICacheClientAsync.FlushAllAsync(CancellationToken token)
5353

5454
async Task<IDictionary<string, T>> ICacheClientAsync.GetAllAsync<T>(IEnumerable<string> keys, CancellationToken token)
5555
{
56-
await using var client = await redisManager.GetReadOnlyCacheClientAsync(token).ConfigureAwait(false);
56+
await using var client = await redisManager.GetReadOnlyClientAsync(token).ConfigureAwait(false);
5757
return await client.GetAllAsync<T>(keys, token).ConfigureAwait(false);
5858
}
5959

@@ -71,13 +71,13 @@ async Task<bool> ICacheClientAsync.RemoveAsync(string key, CancellationToken tok
7171

7272
async Task<TimeSpan?> ICacheClientAsync.GetTimeToLiveAsync(string key, CancellationToken token)
7373
{
74-
await using var client = await redisManager.GetReadOnlyCacheClientAsync(token).ConfigureAwait(false);
74+
await using var client = await redisManager.GetReadOnlyClientAsync(token).ConfigureAwait(false);
7575
return await client.GetTimeToLiveAsync(key, token).ConfigureAwait(false);
7676
}
7777

7878
async IAsyncEnumerable<string> ICacheClientAsync.GetKeysByPatternAsync(string pattern, [EnumeratorCancellation] CancellationToken token)
7979
{
80-
await using var client = await redisManager.GetReadOnlyCacheClientAsync(token).ConfigureAwait(false);
80+
await using var client = await redisManager.GetReadOnlyClientAsync(token).ConfigureAwait(false);
8181
await foreach (var key in client.GetKeysByPatternAsync(pattern, token).ConfigureAwait(false).WithCancellation(token))
8282
{
8383
yield return key;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System.Threading.Tasks;
2+
using NUnit.Framework;
3+
4+
namespace ServiceStack.Redis.Tests
5+
{
6+
public class CacheClientTestsAsync
7+
: RedisClientTestsBaseAsync
8+
{
9+
IRedisClientsManagerAsync redisManager = new RedisManagerPool(TestConfig.SingleHost);
10+
11+
[Test]
12+
public async Task Can_get_set_CacheClient_Async()
13+
{
14+
await using var cache = await redisManager.GetCacheClientAsync();
15+
await cache.FlushAllAsync();
16+
17+
await cache.SetAsync("key", "A");
18+
var result = await cache.GetAsync<string>("key");
19+
Assert.That(result, Is.EqualTo("A"));
20+
}
21+
}
22+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System.Threading.Tasks;
2+
using NUnit.Framework;
3+
4+
namespace ServiceStack.Redis.Tests
5+
{
6+
public class CacheClientTests
7+
: RedisClientTestsBase
8+
{
9+
IRedisClientsManager redisManager = new RedisManagerPool(TestConfig.SingleHost);
10+
11+
[Test]
12+
public void Can_get_set_CacheClient()
13+
{
14+
var cache = redisManager.GetCacheClient();
15+
cache.FlushAll();
16+
17+
cache.Set("key", "A");
18+
var result = cache.Get<string>("key");
19+
Assert.That(result, Is.EqualTo("A"));
20+
}
21+
}
22+
}

0 commit comments

Comments
 (0)