Skip to content

Commit fd4ca61

Browse files
authored
Merge pull request #346 from dotnetcore/dev
v1.5.1 release
2 parents 90d9768 + aa71851 commit fd4ca61

File tree

7 files changed

+73
-31
lines changed

7 files changed

+73
-31
lines changed

build/releasenotes.props

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
<Project>
22
<PropertyGroup>
33
<EasyCachingCorePackageNotes>
4-
1. Expose raw cache database.
4+
1. Upgrading dependencies.
55
</EasyCachingCorePackageNotes>
66
<EasyCachingMemcachedPackageNotes>
7-
1. Expose raw cache database.
7+
1. Upgrading dependencies.
88
</EasyCachingMemcachedPackageNotes>
99
<EasyCachingRedisPackageNotes>
10-
1. Expose raw cache database.
11-
2. Support KeyPrefix.
10+
1. Fix removebyprefix when enable keyprefix.
1211
</EasyCachingRedisPackageNotes>
1312
<EasyCachingSQLitePackageNotes>
14-
1. Expose raw cache database.
13+
1. Upgrading dependencies.
1514
</EasyCachingSQLitePackageNotes>
1615
<EasyCachingInMemoryPackageNotes>
17-
1. Expose raw cache database.
16+
1. Upgrading dependencies.
1817
</EasyCachingInMemoryPackageNotes>
1918
<EasyCachingHybridPackageNotes>
2019
1. Upgrading dependencies.
@@ -38,7 +37,7 @@
3837
1. Upgrading dependencies.
3938
</EasyCachingProtobufPackageNotes>
4039
<EasyCachingCSRedisPackageNotes>
41-
1. Support distributed lock.
40+
1. Upgrading dependencies.
4241
</EasyCachingCSRedisPackageNotes>
4342
<EasyCachingCSRedisBusPackageNotes>
4443
1. Upgrading dependencies.
@@ -47,13 +46,13 @@
4746
1. Upgrading dependencies.
4847
</EasyCachingRedisBusPackageNotes>
4948
<EasyCachingRabbitBusPackageNotes>
50-
1. Upgrading dependencies.
51-
</EasyCachingRabbitBusPackageNotes>
49+
1. Allow user to define client provided name.
50+
</EasyCachingRabbitBusPackageNotes>
5251
<EasyCachingDiskPackageNotes>
5352
1. Upgrading dependencies.
5453
</EasyCachingDiskPackageNotes>
5554
<EasyCachingLiteDBPackageNotes>
56-
1. Expose raw cache database.
55+
1. Upgrading dependencies.
5756
</EasyCachingLiteDBPackageNotes>
5857
<EasyCachingSTJsonPackageNotes>
5958
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.5.0</EasyCachingCorePackageVersion>
4-
<EasyCachingMemcachedPackageVersion>1.5.0</EasyCachingMemcachedPackageVersion>
5-
<EasyCachingRedisPackageVersion>1.5.0</EasyCachingRedisPackageVersion>
6-
<EasyCachingSQLitePackageVersion>1.5.0</EasyCachingSQLitePackageVersion>
7-
<EasyCachingInMemoryPackageVersion>1.5.0</EasyCachingInMemoryPackageVersion>
8-
<EasyCachingHybridPackageVersion>1.5.0</EasyCachingHybridPackageVersion>
9-
<EasyCachingAspectCorePackageVersion>1.5.0</EasyCachingAspectCorePackageVersion>
10-
<EasyCachingCastlePackageVersion>1.5.0</EasyCachingCastlePackageVersion>
11-
<EasyCachingResponseCachingPackageVersion>1.5.0</EasyCachingResponseCachingPackageVersion>
12-
<EasyCachingJsonPackageVersion>1.5.0</EasyCachingJsonPackageVersion>
13-
<EasyCachingMessagePackPackageVersion>1.5.0</EasyCachingMessagePackPackageVersion>
14-
<EasyCachingProtobufPackageVersion>1.5.0</EasyCachingProtobufPackageVersion>
15-
<EasyCachingCSRedisPackageVersion>1.5.0</EasyCachingCSRedisPackageVersion>
16-
<EasyCachingRedisBusPackageVersion>1.5.0</EasyCachingRedisBusPackageVersion>
17-
<EasyCachingCSRedisBusPackageVersion>1.5.0</EasyCachingCSRedisBusPackageVersion>
18-
<EasyCachingRabbitBusPackageVersion>1.5.0</EasyCachingRabbitBusPackageVersion>
19-
<EasyCachingDiskPackageVersion>1.5.0</EasyCachingDiskPackageVersion>
20-
<EasyCachingMsExtPackageVersion>1.5.0</EasyCachingMsExtPackageVersion>
21-
<EasyCachingLiteDBPackageVersion>1.5.0</EasyCachingLiteDBPackageVersion>
22-
<EasyCachingSTJsonPackageVersion>1.5.0</EasyCachingSTJsonPackageVersion>
3+
<EasyCachingCorePackageVersion>1.5.1</EasyCachingCorePackageVersion>
4+
<EasyCachingMemcachedPackageVersion>1.5.1</EasyCachingMemcachedPackageVersion>
5+
<EasyCachingRedisPackageVersion>1.5.1</EasyCachingRedisPackageVersion>
6+
<EasyCachingSQLitePackageVersion>1.5.1</EasyCachingSQLitePackageVersion>
7+
<EasyCachingInMemoryPackageVersion>1.5.1</EasyCachingInMemoryPackageVersion>
8+
<EasyCachingHybridPackageVersion>1.5.1</EasyCachingHybridPackageVersion>
9+
<EasyCachingAspectCorePackageVersion>1.5.1</EasyCachingAspectCorePackageVersion>
10+
<EasyCachingCastlePackageVersion>1.5.1</EasyCachingCastlePackageVersion>
11+
<EasyCachingResponseCachingPackageVersion>1.5.1</EasyCachingResponseCachingPackageVersion>
12+
<EasyCachingJsonPackageVersion>1.5.1</EasyCachingJsonPackageVersion>
13+
<EasyCachingMessagePackPackageVersion>1.5.1</EasyCachingMessagePackPackageVersion>
14+
<EasyCachingProtobufPackageVersion>1.5.1</EasyCachingProtobufPackageVersion>
15+
<EasyCachingCSRedisPackageVersion>1.5.1</EasyCachingCSRedisPackageVersion>
16+
<EasyCachingRedisBusPackageVersion>1.5.1</EasyCachingRedisBusPackageVersion>
17+
<EasyCachingCSRedisBusPackageVersion>1.5.1</EasyCachingCSRedisBusPackageVersion>
18+
<EasyCachingRabbitBusPackageVersion>1.5.1</EasyCachingRabbitBusPackageVersion>
19+
<EasyCachingDiskPackageVersion>1.5.1</EasyCachingDiskPackageVersion>
20+
<EasyCachingMsExtPackageVersion>1.5.1</EasyCachingMsExtPackageVersion>
21+
<EasyCachingLiteDBPackageVersion>1.5.1</EasyCachingLiteDBPackageVersion>
22+
<EasyCachingSTJsonPackageVersion>1.5.1</EasyCachingSTJsonPackageVersion>
2323
</PropertyGroup>
2424
</Project>

bus/EasyCaching.Bus.RabbitMQ/DefaultRabbitMQBus.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ IPooledObjectPolicy<IModel> _objectPolicy
6464
VirtualHost = _options.VirtualHost,
6565
RequestedConnectionTimeout = System.TimeSpan.FromMilliseconds(_options.RequestedConnectionTimeout),
6666
SocketReadTimeout = System.TimeSpan.FromMilliseconds(_options.SocketReadTimeout),
67-
SocketWriteTimeout = System.TimeSpan.FromMilliseconds(_options.SocketWriteTimeout)
67+
SocketWriteTimeout = System.TimeSpan.FromMilliseconds(_options.SocketWriteTimeout),
68+
ClientProvidedName = _options.ClientProvidedName
6869
};
6970

7071
_subConnection = factory.CreateConnection();

docs/Hybrid.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,16 @@ public class Startup
3434

3535
services.AddEasyCaching(option =>
3636
{
37+
option.WithJson("myjson");
38+
3739
// local
3840
option.UseInMemory("m1");
3941
// distributed
4042
option.UseRedis(config =>
4143
{
4244
config.DBConfig.Endpoints.Add(new Core.Configurations.ServerEndPoint("127.0.0.1", 6379));
4345
config.DBConfig.Database = 5;
46+
config.SerializerName = "myjson";
4447
}, "myredis");
4548

4649
// combine local and distributed
@@ -58,6 +61,9 @@ public class Startup
5861
.WithRedisBus(busConf =>
5962
{
6063
busConf.Endpoints.Add(new ServerEndPoint("127.0.0.1", 6380));
64+
65+
// do not forget to set the SerializerName for the bus here !!
66+
busConf.SerializerName = "myjson";
6167
});
6268
});
6369
}

src/EasyCaching.Core/Configurations/BaseRabbitMQOptions.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,10 @@ public class BaseRabbitMQOptions
5151
/// Gets or sets queue message automatic deletion time (in milliseconds). Default 864000000 ms (10 days).
5252
/// </summary>
5353
public int QueueMessageExpires { get; set; } = 864000000;
54+
55+
/// <summary>
56+
/// Gets or sets the client-provided name for the rabbit connection. Default null (handled by rabbit client)
57+
/// </summary>
58+
public string ClientProvidedName { get; set; }
5459
}
5560
}

src/EasyCaching.Redis/DefaultRedisCachingProvider.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,11 @@ private RedisKey[] SearchRedisKeys(string pattern)
304304
// from this redis dev specification, https://yq.aliyun.com/articles/531067 , maybe the appropriate scope is 100~500, using 200 here.
305305
keys.AddRange(server.Keys(pattern: pattern, database: _cache.Database, pageSize: 200));
306306

307+
if (!string.IsNullOrWhiteSpace(_options.DBConfig.KeyPrefix))
308+
keys = keys.Select(x => new RedisKey(
309+
x.ToString().Remove(0, _options.DBConfig.KeyPrefix.Length)))
310+
.ToList();
311+
307312
return keys.Distinct().ToArray();
308313

309314
//var keys = new HashSet<RedisKey>();
@@ -343,6 +348,9 @@ private string HandlePrefix(string prefix)
343348
if (!prefix.EndsWith("*", StringComparison.OrdinalIgnoreCase))
344349
prefix = string.Concat(prefix, "*");
345350

351+
if (!string.IsNullOrWhiteSpace(_options.DBConfig.KeyPrefix))
352+
prefix = _options.DBConfig.KeyPrefix + prefix;
353+
346354
return prefix;
347355
}
348356

test/EasyCaching.UnitTests/CachingTests/RedisCachingProviderTest.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,5 +272,28 @@ public void KeyPrefixTest()
272272
var val3 = WithKeyPrefix.Get<string>("KeyPrefix");
273273
Assert.Equal(val1.Value, val3.Value);
274274
}
275+
276+
[Fact]
277+
public void RemoveByPrefixTest()
278+
{
279+
var WithKeyPrefix = _providerFactory.GetCachingProvider("WithKeyPrefix");
280+
281+
WithKeyPrefix.Set("KeyPrefix1", "ok", TimeSpan.FromSeconds(10));
282+
WithKeyPrefix.Set("KeyPrefix2", "ok", TimeSpan.FromSeconds(10));
283+
284+
var val1 = WithKeyPrefix.Get<string>("KeyPrefix1");
285+
var val2 = WithKeyPrefix.Get<string>("KeyPrefix2");
286+
287+
Assert.True(val1.HasValue);
288+
Assert.True(val2.HasValue);
289+
Assert.Equal(val1.Value, val2.Value);
290+
291+
WithKeyPrefix.RemoveByPrefix("Key");
292+
293+
var val3 = WithKeyPrefix.Get<string>("KeyPrefix1");
294+
var val4 = WithKeyPrefix.Get<string>("KeyPrefix2");
295+
Assert.False(val3.HasValue);
296+
Assert.False(val4.HasValue);
297+
}
275298
}
276299
}

0 commit comments

Comments
 (0)