Skip to content

Commit 769ef24

Browse files
authored
Merge pull request #394 from dotnetcore/dev
v1.6.1
2 parents 6b3f478 + c5ae208 commit 769ef24

22 files changed

+646
-449
lines changed

build/releasenotes.props

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,23 @@
11
<Project>
22
<PropertyGroup>
33
<EasyCachingCorePackageNotes>
4-
1. IRedisCachingProvider Support SearchKeysAsync.
5-
2. IRedisCachingProvider Support ZRangeByScore/ZRangeByScoreAsync.
4+
1. Add CancellationToken for async methods.
65
</EasyCachingCorePackageNotes>
76
<EasyCachingMemcachedPackageNotes>
8-
1. Upgrading dependencies.
9-
2. Throw exception when can not connect to server
7+
1. Add CancellationToken for async methods.
108
</EasyCachingMemcachedPackageNotes>
119
<EasyCachingRedisPackageNotes>
12-
1. IRedisCachingProvider Support SearchKeysAsync/ZRangeByScore/ZRangeByScoreAsync.
13-
2. Make clear exception message when serializer not match or notfound.
14-
3. Upgrading dependencies.
10+
1. Add CancellationToken for async methods.
11+
2. Add persist key method to redis providers.
1512
</EasyCachingRedisPackageNotes>
1613
<EasyCachingSQLitePackageNotes>
17-
1. Upgrading dependencies.
14+
1. Add CancellationToken for async methods.
1815
</EasyCachingSQLitePackageNotes>
1916
<EasyCachingInMemoryPackageNotes>
20-
1. Upgrading dependencies.
17+
1. Add CancellationToken for async methods.
2118
</EasyCachingInMemoryPackageNotes>
2219
<EasyCachingHybridPackageNotes>
23-
1. Upgrading dependencies.
20+
1. Add CancellationToken for async methods.
2421
</EasyCachingHybridPackageNotes>
2522
<EasyCachingAspectCorePackageNotes>
2623
1. Upgrading dependencies.
@@ -41,9 +38,8 @@
4138
1. Upgrading dependencies.
4239
</EasyCachingProtobufPackageNotes>
4340
<EasyCachingCSRedisPackageNotes>
44-
1. IRedisCachingProvider Support SearchKeysAsync/ZRangeByScore/ZRangeByScoreAsync.
45-
2. Make clear exception message when serializer not match or notfound.
46-
3. Upgrading dependencies.
41+
1. Add CancellationToken for async methods.
42+
2. Add persist key method to redis providers.
4743
</EasyCachingCSRedisPackageNotes>
4844
<EasyCachingCSRedisBusPackageNotes>
4945
1. Upgrading dependencies.
@@ -55,10 +51,10 @@
5551
1. Upgrading dependencies.
5652
</EasyCachingRabbitBusPackageNotes>
5753
<EasyCachingDiskPackageNotes>
58-
1. Upgrading dependencies.
54+
1. Add CancellationToken for async methods.
5955
</EasyCachingDiskPackageNotes>
6056
<EasyCachingLiteDBPackageNotes>
61-
1. Upgrading dependencies.
57+
1. Add CancellationToken for async methods.
6258
</EasyCachingLiteDBPackageNotes>
6359
<EasyCachingSTJsonPackageNotes>
6460
1. Upgrading dependencies.

build/version.props

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
<Project>
22
<PropertyGroup>
3-
<EasyCachingCorePackageVersion>1.6.0</EasyCachingCorePackageVersion>
4-
<EasyCachingMemcachedPackageVersion>1.6.0</EasyCachingMemcachedPackageVersion>
5-
<EasyCachingRedisPackageVersion>1.6.0</EasyCachingRedisPackageVersion>
6-
<EasyCachingSQLitePackageVersion>1.6.0</EasyCachingSQLitePackageVersion>
7-
<EasyCachingInMemoryPackageVersion>1.6.0</EasyCachingInMemoryPackageVersion>
8-
<EasyCachingHybridPackageVersion>1.6.0</EasyCachingHybridPackageVersion>
9-
<EasyCachingAspectCorePackageVersion>1.6.0</EasyCachingAspectCorePackageVersion>
10-
<EasyCachingCastlePackageVersion>1.6.0</EasyCachingCastlePackageVersion>
11-
<EasyCachingResponseCachingPackageVersion>1.6.0</EasyCachingResponseCachingPackageVersion>
12-
<EasyCachingJsonPackageVersion>1.6.0</EasyCachingJsonPackageVersion>
13-
<EasyCachingMessagePackPackageVersion>1.6.0</EasyCachingMessagePackPackageVersion>
14-
<EasyCachingProtobufPackageVersion>1.6.0</EasyCachingProtobufPackageVersion>
15-
<EasyCachingCSRedisPackageVersion>1.6.0</EasyCachingCSRedisPackageVersion>
16-
<EasyCachingRedisBusPackageVersion>1.6.0</EasyCachingRedisBusPackageVersion>
17-
<EasyCachingCSRedisBusPackageVersion>1.6.0</EasyCachingCSRedisBusPackageVersion>
18-
<EasyCachingRabbitBusPackageVersion>1.6.0</EasyCachingRabbitBusPackageVersion>
19-
<EasyCachingDiskPackageVersion>1.6.0</EasyCachingDiskPackageVersion>
20-
<EasyCachingMsExtPackageVersion>1.6.0</EasyCachingMsExtPackageVersion>
21-
<EasyCachingLiteDBPackageVersion>1.6.0</EasyCachingLiteDBPackageVersion>
22-
<EasyCachingSTJsonPackageVersion>1.6.0</EasyCachingSTJsonPackageVersion>
3+
<EasyCachingCorePackageVersion>1.6.1</EasyCachingCorePackageVersion>
4+
<EasyCachingMemcachedPackageVersion>1.6.1</EasyCachingMemcachedPackageVersion>
5+
<EasyCachingRedisPackageVersion>1.6.1</EasyCachingRedisPackageVersion>
6+
<EasyCachingSQLitePackageVersion>1.6.1</EasyCachingSQLitePackageVersion>
7+
<EasyCachingInMemoryPackageVersion>1.6.1</EasyCachingInMemoryPackageVersion>
8+
<EasyCachingHybridPackageVersion>1.6.1</EasyCachingHybridPackageVersion>
9+
<EasyCachingAspectCorePackageVersion>1.6.1</EasyCachingAspectCorePackageVersion>
10+
<EasyCachingCastlePackageVersion>1.6.1</EasyCachingCastlePackageVersion>
11+
<EasyCachingResponseCachingPackageVersion>1.6.1</EasyCachingResponseCachingPackageVersion>
12+
<EasyCachingJsonPackageVersion>1.6.1</EasyCachingJsonPackageVersion>
13+
<EasyCachingMessagePackPackageVersion>1.6.1</EasyCachingMessagePackPackageVersion>
14+
<EasyCachingProtobufPackageVersion>1.6.1</EasyCachingProtobufPackageVersion>
15+
<EasyCachingCSRedisPackageVersion>1.6.1</EasyCachingCSRedisPackageVersion>
16+
<EasyCachingRedisBusPackageVersion>1.6.1</EasyCachingRedisBusPackageVersion>
17+
<EasyCachingCSRedisBusPackageVersion>1.6.1</EasyCachingCSRedisBusPackageVersion>
18+
<EasyCachingRabbitBusPackageVersion>1.6.1</EasyCachingRabbitBusPackageVersion>
19+
<EasyCachingDiskPackageVersion>1.6.1</EasyCachingDiskPackageVersion>
20+
<EasyCachingMsExtPackageVersion>1.6.1</EasyCachingMsExtPackageVersion>
21+
<EasyCachingLiteDBPackageVersion>1.6.1</EasyCachingLiteDBPackageVersion>
22+
<EasyCachingSTJsonPackageVersion>1.6.1</EasyCachingSTJsonPackageVersion>
2323
</PropertyGroup>
2424
</Project>

src/EasyCaching.CSRedis/DefaultCSRedisCachingProvider.Async.cs

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{
33
using System;
44
using System.Collections.Generic;
5+
using System.Threading;
56
using System.Threading.Tasks;
67
using EasyCaching.Core;
78
using global::CSRedis;
@@ -14,32 +15,35 @@ public partial class DefaultCSRedisCachingProvider : EasyCachingAbstractProvider
1415
/// </summary>
1516
/// <returns>The async.</returns>
1617
/// <param name="cacheKey">Cache key.</param>
17-
public override async Task<bool> BaseExistsAsync(string cacheKey)
18+
/// <param name="cancellationToken">CancellationToken</param>
19+
public override async Task<bool> BaseExistsAsync(string cacheKey, CancellationToken cancellationToken = default)
1820
{
1921
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
2022

2123
return await _cache.ExistsAsync(cacheKey);
2224
}
23-
25+
2426
/// <summary>
2527
/// Flushs the async.
2628
/// </summary>
29+
/// <param name="cancellationToken">CancellationToken</param>
2730
/// <returns>The async.</returns>
28-
public override async Task BaseFlushAsync()
31+
public override async Task BaseFlushAsync(CancellationToken cancellationToken = default)
2932
{
3033
if (_options.EnableLogging)
3134
_logger?.LogInformation("Redis -- FlushAsync");
3235

3336
await _cache.NodesServerManager.FlushDbAsync();
3437
}
35-
38+
3639
/// <summary>
3740
/// Gets all async.
3841
/// </summary>
3942
/// <returns>The all async.</returns>
4043
/// <param name="cacheKeys">Cache keys.</param>
44+
/// <param name="cancellationToken">CancellationToken</param>
4145
/// <typeparam name="T">The 1st type parameter.</typeparam>
42-
public override async Task<IDictionary<string, CacheValue<T>>> BaseGetAllAsync<T>(IEnumerable<string> cacheKeys)
46+
public override async Task<IDictionary<string, CacheValue<T>>> BaseGetAllAsync<T>(IEnumerable<string> cacheKeys, CancellationToken cancellationToken = default)
4347
{
4448
ArgumentCheck.NotNullAndCountGTZero(cacheKeys, nameof(cacheKeys));
4549

@@ -67,8 +71,9 @@ public override async Task<IDictionary<string, CacheValue<T>>> BaseGetAllAsync<T
6771
/// <param name="cacheKey">Cache key.</param>
6872
/// <param name="dataRetriever">Data retriever.</param>
6973
/// <param name="expiration">Expiration.</param>
74+
/// <param name="cancellationToken">CancellationToken</param>
7075
/// <typeparam name="T">The 1st type parameter.</typeparam>
71-
public override async Task<CacheValue<T>> BaseGetAsync<T>(string cacheKey, Func<Task<T>> dataRetriever, TimeSpan expiration)
76+
public override async Task<CacheValue<T>> BaseGetAsync<T>(string cacheKey, Func<Task<T>> dataRetriever, TimeSpan expiration, CancellationToken cancellationToken = default)
7277
{
7378
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
7479
ArgumentCheck.NotNegativeOrZero(expiration, nameof(expiration));
@@ -120,7 +125,8 @@ public override async Task<CacheValue<T>> BaseGetAsync<T>(string cacheKey, Func<
120125
/// <returns>The async.</returns>
121126
/// <param name="cacheKey">Cache key.</param>
122127
/// <param name="type">Object Type.</param>
123-
public override async Task<object> BaseGetAsync(string cacheKey, Type type)
128+
/// <param name="cancellationToken">CancellationToken</param>
129+
public override async Task<object> BaseGetAsync(string cacheKey, Type type, CancellationToken cancellationToken = default)
124130
{
125131
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
126132

@@ -151,8 +157,9 @@ public override async Task<object> BaseGetAsync(string cacheKey, Type type)
151157
/// </summary>
152158
/// <returns>The async.</returns>
153159
/// <param name="cacheKey">Cache key.</param>
160+
/// <param name="cancellationToken">CancellationToken</param>
154161
/// <typeparam name="T">The 1st type parameter.</typeparam>
155-
public override async Task<CacheValue<T>> BaseGetAsync<T>(string cacheKey)
162+
public override async Task<CacheValue<T>> BaseGetAsync<T>(string cacheKey, CancellationToken cancellationToken = default)
156163
{
157164
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
158165

@@ -183,7 +190,8 @@ public override async Task<CacheValue<T>> BaseGetAsync<T>(string cacheKey)
183190
/// </summary>
184191
/// <returns>The count.</returns>
185192
/// <param name="prefix">Prefix.</param>
186-
public override Task<int> BaseGetCountAsync(string prefix = "")
193+
/// <param name="cancellationToken">CancellationToken</param>
194+
public override Task<int> BaseGetCountAsync(string prefix = "", CancellationToken cancellationToken = default)
187195
{
188196
if (string.IsNullOrWhiteSpace(prefix))
189197
{
@@ -207,8 +215,9 @@ public override Task<int> BaseGetCountAsync(string prefix = "")
207215
/// </summary>
208216
/// <returns>The by prefix async.</returns>
209217
/// <param name="prefix">Prefix.</param>
218+
/// <param name="cancellationToken">CancellationToken</param>
210219
/// <typeparam name="T">The 1st type parameter.</typeparam>
211-
public override async Task<IDictionary<string, CacheValue<T>>> BaseGetByPrefixAsync<T>(string prefix)
220+
public override async Task<IDictionary<string, CacheValue<T>>> BaseGetByPrefixAsync<T>(string prefix, CancellationToken cancellationToken = default)
212221
{
213222
ArgumentCheck.NotNullOrWhiteSpace(prefix, nameof(prefix));
214223

@@ -229,13 +238,14 @@ public override async Task<IDictionary<string, CacheValue<T>>> BaseGetByPrefixAs
229238

230239
return result;
231240
}
232-
241+
233242
/// <summary>
234243
/// Removes all async.
235244
/// </summary>
236245
/// <returns>The all async.</returns>
237246
/// <param name="cacheKeys">Cache keys.</param>
238-
public override async Task BaseRemoveAllAsync(IEnumerable<string> cacheKeys)
247+
/// <param name="cancellationToken">CancellationToken</param>
248+
public override async Task BaseRemoveAllAsync(IEnumerable<string> cacheKeys, CancellationToken cancellationToken = default)
239249
{
240250
ArgumentCheck.NotNullAndCountGTZero(cacheKeys, nameof(cacheKeys));
241251

@@ -254,19 +264,21 @@ public override async Task BaseRemoveAllAsync(IEnumerable<string> cacheKeys)
254264
/// </summary>
255265
/// <returns>The async.</returns>
256266
/// <param name="cacheKey">Cache key.</param>
257-
public override async Task BaseRemoveAsync(string cacheKey)
267+
/// <param name="cancellationToken">CancellationToken</param>
268+
public override async Task BaseRemoveAsync(string cacheKey, CancellationToken cancellationToken = default)
258269
{
259270
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
260271

261272
await _cache.DelAsync(cacheKey);
262-
}
273+
}
263274

264275
/// <summary>
265276
/// Removes the by prefix async.
266277
/// </summary>
267278
/// <returns>The by prefix async.</returns>
268279
/// <param name="prefix">Prefix.</param>
269-
public override async Task BaseRemoveByPrefixAsync(string prefix)
280+
/// <param name="cancellationToken">CancellationToken</param>
281+
public override async Task BaseRemoveByPrefixAsync(string prefix, CancellationToken cancellationToken = default)
270282
{
271283
ArgumentCheck.NotNullOrWhiteSpace(prefix, nameof(prefix));
272284

@@ -293,8 +305,9 @@ public override async Task BaseRemoveByPrefixAsync(string prefix)
293305
/// <returns>The all async.</returns>
294306
/// <param name="value">Value.</param>
295307
/// <param name="expiration">Expiration.</param>
308+
/// <param name="cancellationToken">CancellationToken</param>
296309
/// <typeparam name="T">The 1st type parameter.</typeparam>
297-
public override async Task BaseSetAllAsync<T>(IDictionary<string, T> value, TimeSpan expiration)
310+
public override async Task BaseSetAllAsync<T>(IDictionary<string, T> value, TimeSpan expiration, CancellationToken cancellationToken = default)
298311
{
299312
//whether to use pipe based on redis mode
300313
var tasks = new List<Task<bool>>();
@@ -320,8 +333,9 @@ public override async Task BaseSetAllAsync<T>(IDictionary<string, T> value, Time
320333
/// <param name="cacheKey">Cache key.</param>
321334
/// <param name="cacheValue">Cache value.</param>
322335
/// <param name="expiration">Expiration.</param>
336+
/// <param name="cancellationToken">CancellationToken</param>
323337
/// <typeparam name="T">The 1st type parameter.</typeparam>
324-
public override async Task BaseSetAsync<T>(string cacheKey, T cacheValue, TimeSpan expiration)
338+
public override async Task BaseSetAsync<T>(string cacheKey, T cacheValue, TimeSpan expiration, CancellationToken cancellationToken = default)
325339
{
326340
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
327341
ArgumentCheck.NotNull(cacheValue, nameof(cacheValue), _options.CacheNulls);
@@ -349,8 +363,9 @@ await _cache.SetAsync(
349363
/// <param name="cacheKey">Cache key.</param>
350364
/// <param name="cacheValue">Cache value.</param>
351365
/// <param name="expiration">Expiration.</param>
366+
/// <param name="cancellationToken">CancellationToken</param>
352367
/// <typeparam name="T">The 1st type parameter.</typeparam>
353-
public override async Task<bool> BaseTrySetAsync<T>(string cacheKey, T cacheValue, TimeSpan expiration)
368+
public override async Task<bool> BaseTrySetAsync<T>(string cacheKey, T cacheValue, TimeSpan expiration, CancellationToken cancellationToken = default)
354369
{
355370
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
356371
ArgumentCheck.NotNull(cacheValue, nameof(cacheValue), _options.CacheNulls);
@@ -374,8 +389,9 @@ public override async Task<bool> BaseTrySetAsync<T>(string cacheKey, T cacheValu
374389
/// Get the expiration of cache key async
375390
/// </summary>
376391
/// <param name="cacheKey">cache key</param>
392+
/// <param name="cancellationToken">CancellationToken</param>
377393
/// <returns>expiration</returns>
378-
public override async Task<TimeSpan> BaseGetExpirationAsync(string cacheKey)
394+
public override async Task<TimeSpan> BaseGetExpirationAsync(string cacheKey, CancellationToken cancellationToken = default)
379395
{
380396
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
381397

src/EasyCaching.CSRedis/DefaultCSRedisCachingProvider.Keys.cs

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
namespace EasyCaching.CSRedis
1+
namespace EasyCaching.CSRedis
22
{
33
using EasyCaching.Core;
44
using System.Collections.Generic;
5-
using System.Threading.Tasks;
6-
7-
public partial class DefaultCSRedisCachingProvider : IRedisCachingProvider
8-
{
9-
public string RedisName => this._name;
10-
5+
using System.Threading.Tasks;
6+
7+
public partial class DefaultCSRedisCachingProvider : IRedisCachingProvider
8+
{
9+
public string RedisName => this._name;
10+
1111
public bool KeyDel(string cacheKey)
1212
{
1313
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
@@ -38,22 +38,38 @@ public async Task<bool> KeyExpireAsync(string cacheKey, int second)
3838

3939
var flag = await _cache.ExpireAsync(cacheKey, second);
4040
return flag;
41-
}
42-
43-
public bool KeyExists(string cacheKey)
44-
{
45-
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
46-
47-
var flag = _cache.Exists(cacheKey);
48-
return flag;
49-
}
50-
51-
public async Task<bool> KeyExistsAsync(string cacheKey)
52-
{
53-
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
54-
55-
var flag = await _cache.ExistsAsync(cacheKey);
56-
return flag;
41+
}
42+
43+
public bool KeyPersist(string cacheKey)
44+
{
45+
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
46+
47+
var flag = _cache.Persist(cacheKey);
48+
return flag;
49+
}
50+
51+
public async Task<bool> KeyPersistAsync(string cacheKey)
52+
{
53+
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
54+
55+
var flag = await _cache.PersistAsync(cacheKey);
56+
return flag;
57+
}
58+
59+
public bool KeyExists(string cacheKey)
60+
{
61+
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
62+
63+
var flag = _cache.Exists(cacheKey);
64+
return flag;
65+
}
66+
67+
public async Task<bool> KeyExistsAsync(string cacheKey)
68+
{
69+
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
70+
71+
var flag = await _cache.ExistsAsync(cacheKey);
72+
return flag;
5773
}
5874

5975
public long TTL(string cacheKey)
@@ -123,5 +139,5 @@ public async Task<List<string>> SearchKeysAsync(string cacheKey, int? count)
123139

124140
return keys;
125141
}
126-
}
127-
}
142+
}
143+
}

0 commit comments

Comments
 (0)