Skip to content

Commit

Permalink
Merge branch 'dev' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
maikebing authored Sep 2, 2020
2 parents 5ea80c4 + 98d44c8 commit 55b27f0
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 33 deletions.
17 changes: 4 additions & 13 deletions build/releasenotes.props
Original file line number Diff line number Diff line change
@@ -1,26 +1,20 @@
<Project>
<PropertyGroup>
<EasyCachingCorePackageNotes>
1. Add base interface of IHybridProvider and IEasyCachingProvider.
2. Redis provider support zincrby.
3. Redis acl support
1. IRedisProvider support search keys.
2. DefaultEasyCachingKeyGenerator support GenerateCacheKeyForModel.
</EasyCachingCorePackageNotes>
<EasyCachingMemcachedPackageNotes>
1. Upgrading dependencies.
2. Fixed configuration file can not read LockMs, SleepMs and SerializerName.
</EasyCachingMemcachedPackageNotes>
<EasyCachingRedisPackageNotes>
1. Upgrading dependencies.
2. Fixed configuration file can not read LockMs, SleepMs and SerializerName.
3. Redis acl support
1. IRedisProvider support search keys.
</EasyCachingRedisPackageNotes>
<EasyCachingSQLitePackageNotes>
1. Upgrading dependencies.
2. Fixed configuration file can not read LockMs, SleepMs and SerializerName.
</EasyCachingSQLitePackageNotes>
<EasyCachingInMemoryPackageNotes>
1. Upgrading dependencies.
2. Fixed configuration file can not read LockMs, SleepMs and SerializerName.
</EasyCachingInMemoryPackageNotes>
<EasyCachingHybridPackageNotes>
1. Upgrading dependencies.
Expand All @@ -44,22 +38,19 @@
1. Upgrading dependencies.
</EasyCachingProtobufPackageNotes>
<EasyCachingCSRedisPackageNotes>
1. Upgrading dependencies.
2. Fixed configuration file can not read LockMs, SleepMs and SerializerName.
1. IRedisProvider support search keys.
</EasyCachingCSRedisPackageNotes>
<EasyCachingCSRedisBusPackageNotes>
1. Upgrading dependencies.
</EasyCachingCSRedisBusPackageNotes>
<EasyCachingRedisBusPackageNotes>
1. Upgrading dependencies.
2. Redis acl support
</EasyCachingRedisBusPackageNotes>
<EasyCachingRabbitBusPackageNotes>
1. Upgrading dependencies.
</EasyCachingRabbitBusPackageNotes>
<EasyCachingDiskPackageNotes>
1. Upgrading dependencies.
2. Fixed configuration file can not read LockMs, SleepMs and SerializerName.
</EasyCachingDiskPackageNotes>
<EasyCachingLiteDBPackageNotes>
1. LiteDB joined for the first time.
Expand Down
38 changes: 19 additions & 19 deletions build/version.props
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
<Project>
<PropertyGroup>
<EasyCachingCorePackageVersion>0.8.11-alpha</EasyCachingCorePackageVersion>
<EasyCachingMemcachedPackageVersion>0.8.11-alpha</EasyCachingMemcachedPackageVersion>
<EasyCachingRedisPackageVersion>0.8.11-alpha</EasyCachingRedisPackageVersion>
<EasyCachingSQLitePackageVersion>0.8.11-alpha</EasyCachingSQLitePackageVersion>
<EasyCachingInMemoryPackageVersion>0.8.11-alpha</EasyCachingInMemoryPackageVersion>
<EasyCachingHybridPackageVersion>0.8.11-alpha</EasyCachingHybridPackageVersion>
<EasyCachingAspectCorePackageVersion>0.8.11-alpha</EasyCachingAspectCorePackageVersion>
<EasyCachingCastlePackageVersion>0.8.11-alpha</EasyCachingCastlePackageVersion>
<EasyCachingResponseCachingPackageVersion>0.8.11-alpha</EasyCachingResponseCachingPackageVersion>
<EasyCachingJsonPackageVersion>0.8.11-alpha</EasyCachingJsonPackageVersion>
<EasyCachingMessagePackPackageVersion>0.8.11-alpha</EasyCachingMessagePackPackageVersion>
<EasyCachingProtobufPackageVersion>0.8.11-alpha</EasyCachingProtobufPackageVersion>
<EasyCachingCSRedisPackageVersion>0.8.11-alpha</EasyCachingCSRedisPackageVersion>
<EasyCachingRedisBusPackageVersion>0.8.11-alpha</EasyCachingRedisBusPackageVersion>
<EasyCachingCSRedisBusPackageVersion>0.8.11-alpha</EasyCachingCSRedisBusPackageVersion>
<EasyCachingRabbitBusPackageVersion>0.8.11-alpha</EasyCachingRabbitBusPackageVersion>
<EasyCachingDiskPackageVersion>0.8.11-alpha</EasyCachingDiskPackageVersion>
<EasyCachingMsExtPackageVersion>0.8.11-alpha</EasyCachingMsExtPackageVersion>
<EasyCachingLiteDBPackageVersion>0.8.11-alpha</EasyCachingLiteDBPackageVersion>
<EasyCachingCorePackageVersion>0.8.11</EasyCachingCorePackageVersion>
<EasyCachingMemcachedPackageVersion>0.8.11</EasyCachingMemcachedPackageVersion>
<EasyCachingRedisPackageVersion>0.8.11</EasyCachingRedisPackageVersion>
<EasyCachingSQLitePackageVersion>0.8.11</EasyCachingSQLitePackageVersion>
<EasyCachingInMemoryPackageVersion>0.8.11</EasyCachingInMemoryPackageVersion>
<EasyCachingHybridPackageVersion>0.8.11</EasyCachingHybridPackageVersion>
<EasyCachingAspectCorePackageVersion>0.8.11</EasyCachingAspectCorePackageVersion>
<EasyCachingCastlePackageVersion>0.8.11</EasyCachingCastlePackageVersion>
<EasyCachingResponseCachingPackageVersion>0.8.11</EasyCachingResponseCachingPackageVersion>
<EasyCachingJsonPackageVersion>0.8.11</EasyCachingJsonPackageVersion>
<EasyCachingMessagePackPackageVersion>0.8.11</EasyCachingMessagePackPackageVersion>
<EasyCachingProtobufPackageVersion>0.8.11</EasyCachingProtobufPackageVersion>
<EasyCachingCSRedisPackageVersion>0.8.11</EasyCachingCSRedisPackageVersion>
<EasyCachingRedisBusPackageVersion>0.8.11</EasyCachingRedisBusPackageVersion>
<EasyCachingCSRedisBusPackageVersion>0.8.11</EasyCachingCSRedisBusPackageVersion>
<EasyCachingRabbitBusPackageVersion>0.8.11</EasyCachingRabbitBusPackageVersion>
<EasyCachingDiskPackageVersion>0.8.11</EasyCachingDiskPackageVersion>
<EasyCachingMsExtPackageVersion>0.8.11</EasyCachingMsExtPackageVersion>
<EasyCachingLiteDBPackageVersion>0.8.11</EasyCachingLiteDBPackageVersion>
</PropertyGroup>
</Project>
19 changes: 18 additions & 1 deletion src/EasyCaching.CSRedis/DefaultCSRedisCachingProvider.Keys.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public async Task<long> TTLAsync(string cacheKey)
return second;
}

public object Eval(string script,string cacheKey, List<object> args)
public object Eval(string script, string cacheKey, List<object> args)
{
ArgumentCheck.NotNullOrWhiteSpace(script, nameof(script));
ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey));
Expand All @@ -89,5 +89,22 @@ public async Task<object> EvalAsync(string script, string cacheKey, List<object>
var res = await _cache.EvalAsync(script, cacheKey, args.ToArray());
return res;
}

public List<string> SearchKeys(string cacheKey, int? count)
{
var keys = new List<string>();

long nextCursor = 0;
do
{
var scanResult = _cache.Scan(nextCursor, cacheKey, count);
nextCursor = scanResult.Cursor;
var items = scanResult.Items;
keys.AddRange(items);
}
while (nextCursor != 0);

return keys;
}
}
}
8 changes: 8 additions & 0 deletions src/EasyCaching.Core/IRedisCachingProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,14 @@ public interface IRedisCachingProvider
/// <param name="cacheKey"></param>
/// <returns></returns>
Task<long> TTLAsync(string cacheKey);

/// <summary>
/// Searchs the keys.
/// </summary>
/// <param name="cacheKey"></param>
/// <param name="count"></param>
/// <returns></returns>
List<string> SearchKeys(string cacheKey, int? count = null);
#endregion

#region String
Expand Down
18 changes: 18 additions & 0 deletions src/EasyCaching.Redis/DefaultRedisCachingProvider.Keys.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,5 +129,23 @@ public async Task<object> EvalAsync(string script, string cacheKey, List<object>

return res;
}

public List<string> SearchKeys(string cacheKey, int? count)
{
var keys = new List<RedisKey>();
var server = _servers.ToArray()[0];

keys = server.Keys(_cache.Database, pattern: cacheKey, count.HasValue?250: count.Value).ToList();

var data = new List<string>();
if (keys.Count <= 0)
return data;

foreach (var item in keys)
{
data.Add(item.ToString());
}
return data;
}
}
}

0 comments on commit 55b27f0

Please sign in to comment.