Skip to content

Commit 9776bf4

Browse files
authored
Merge pull request #462 from dotnetcore/dev
v1.9.0 release
2 parents ce90d95 + 26ddfa7 commit 9776bf4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+573
-223
lines changed

build/releasenotes.props

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
<Project>
22
<PropertyGroup>
33
<EasyCachingCorePackageNotes>
4-
1. Add GetAllKeysByPrefix.
5-
2. Support zremrangebyscore
64
</EasyCachingCorePackageNotes>
75
<EasyCachingMemcachedPackageNotes>
86
1. Upgrading dependencies.
97
</EasyCachingMemcachedPackageNotes>
108
<EasyCachingRedisPackageNotes>
11-
1. Upgrading dependencies.
12-
2. Support zremrangebyscore
9+
1. Fixed redis distributed lock for different process.
10+
2. Support code configuration for StackExchange.Redis.
1311
</EasyCachingRedisPackageNotes>
1412
<EasyCachingSQLitePackageNotes>
1513
1. Upgrading dependencies.
1614
</EasyCachingSQLitePackageNotes>
1715
<EasyCachingInMemoryPackageNotes>
1816
1. Upgrading dependencies.
19-
2. Support evicted event hook.
2017
</EasyCachingInMemoryPackageNotes>
2118
<EasyCachingHybridPackageNotes>
2219
1. Upgrading dependencies.
23-
2. Added a HybridCachingOption to throw an error if the distributed cache throws an error.
2420
</EasyCachingHybridPackageNotes>
2521
<EasyCachingAspectCorePackageNotes>
2622
1. Upgrading dependencies.
@@ -42,27 +38,27 @@
4238
</EasyCachingProtobufPackageNotes>
4339
<EasyCachingCSRedisPackageNotes>
4440
1. Upgrading dependencies.
45-
2. Support zremrangebyscore
4641
</EasyCachingCSRedisPackageNotes>
4742
<EasyCachingCSRedisBusPackageNotes>
48-
1. Upgrading dependencies.
43+
1. Support async version of subscribe.
4944
</EasyCachingCSRedisBusPackageNotes>
5045
<EasyCachingRedisBusPackageNotes>
51-
1. Upgrading dependencies.
46+
1. Support code configuration for StackExchange.Redis.
47+
2. Support async version of subscribe.
5248
</EasyCachingRedisBusPackageNotes>
5349
<EasyCachingRabbitBusPackageNotes>
54-
1. Upgrading dependencies.
55-
2. Use DefaultObjectPoolProvider to get a DisposableObjectPool instead of a DefaultObjectPool
56-
3. Restore queue model and consumer on disconnection
50+
1. Support async version of subscribe.
5751
</EasyCachingRabbitBusPackageNotes>
5852
<EasyCachingKafkaBusPackageNotes>
59-
1. Upgrading dependencies.
53+
1. Support async version of subscribe.
6054
</EasyCachingKafkaBusPackageNotes>
6155
<EasyCachingZookeeperBusPackageNotes>
62-
1. Upgrading dependencies.
56+
1. Support async version of subscribe.
57+
2. Rename WithConfluentKafkaBus to WithZookeeeperBus.
6358
</EasyCachingZookeeperBusPackageNotes>
6459
<EasyCachingDiskPackageNotes>
65-
1. Upgrading dependencies.
60+
1. Support custom serializer.
61+
2. Fixed DiskCachingProvider async warning.
6662
</EasyCachingDiskPackageNotes>
6763
<EasyCachingLiteDBPackageNotes>
6864
1. Upgrading dependencies.
@@ -71,10 +67,10 @@
7167
1. Upgrading dependencies.
7268
</EasyCachingSTJsonPackageNotes>
7369
<EasyCachingMemoryPackageNotes>
74-
1. Support Memory Pack.
70+
1. Upgrading dependencies.
7571
</EasyCachingMemoryPackageNotes>
7672
<EasyCachingFaskKVPackageNotes>
77-
1. Support FaskKV.
73+
1. Upgrading dependencies.
7874
</EasyCachingFaskKVPackageNotes>
7975
</PropertyGroup>
8076
</Project>

build/version.props

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
<Project>
22
<PropertyGroup>
3-
<EasyCachingCorePackageVersion>1.8.0</EasyCachingCorePackageVersion>
4-
<EasyCachingMemcachedPackageVersion>1.8.0</EasyCachingMemcachedPackageVersion>
5-
<EasyCachingRedisPackageVersion>1.8.0</EasyCachingRedisPackageVersion>
6-
<EasyCachingSQLitePackageVersion>1.8.0</EasyCachingSQLitePackageVersion>
7-
<EasyCachingInMemoryPackageVersion>1.8.0</EasyCachingInMemoryPackageVersion>
8-
<EasyCachingHybridPackageVersion>1.8.0</EasyCachingHybridPackageVersion>
9-
<EasyCachingAspectCorePackageVersion>1.8.0</EasyCachingAspectCorePackageVersion>
10-
<EasyCachingCastlePackageVersion>1.8.0</EasyCachingCastlePackageVersion>
11-
<EasyCachingResponseCachingPackageVersion>1.8.0</EasyCachingResponseCachingPackageVersion>
12-
<EasyCachingJsonPackageVersion>1.8.0</EasyCachingJsonPackageVersion>
13-
<EasyCachingMessagePackPackageVersion>1.8.0</EasyCachingMessagePackPackageVersion>
14-
<EasyCachingProtobufPackageVersion>1.8.0</EasyCachingProtobufPackageVersion>
15-
<EasyCachingCSRedisPackageVersion>1.8.0</EasyCachingCSRedisPackageVersion>
16-
<EasyCachingRedisBusPackageVersion>1.8.0</EasyCachingRedisBusPackageVersion>
17-
<EasyCachingCSRedisBusPackageVersion>1.8.0</EasyCachingCSRedisBusPackageVersion>
18-
<EasyCachingRabbitBusPackageVersion>1.8.0</EasyCachingRabbitBusPackageVersion>
19-
<EasyCachingKafkaBusPackageVersion>1.8.0</EasyCachingKafkaBusPackageVersion>
20-
<EasyCachingZookeeperBusPackageVersion>1.8.0</EasyCachingZookeeperBusPackageVersion>
21-
<EasyCachingDiskPackageVersion>1.8.0</EasyCachingDiskPackageVersion>
22-
<EasyCachingMsExtPackageVersion>1.8.0</EasyCachingMsExtPackageVersion>
23-
<EasyCachingLiteDBPackageVersion>1.8.0</EasyCachingLiteDBPackageVersion>
24-
<EasyCachingSTJsonPackageVersion>1.8.0</EasyCachingSTJsonPackageVersion>
25-
<EasyCachingMemoryPackageVersion>1.8.0</EasyCachingMemoryPackageVersion>
26-
<EasyCachingFaskKVPackageVersion>1.8.0</EasyCachingFaskKVPackageVersion>
3+
<EasyCachingCorePackageVersion>1.9.0</EasyCachingCorePackageVersion>
4+
<EasyCachingMemcachedPackageVersion>1.9.0</EasyCachingMemcachedPackageVersion>
5+
<EasyCachingRedisPackageVersion>1.9.0</EasyCachingRedisPackageVersion>
6+
<EasyCachingSQLitePackageVersion>1.9.0</EasyCachingSQLitePackageVersion>
7+
<EasyCachingInMemoryPackageVersion>1.9.0</EasyCachingInMemoryPackageVersion>
8+
<EasyCachingHybridPackageVersion>1.9.0</EasyCachingHybridPackageVersion>
9+
<EasyCachingAspectCorePackageVersion>1.9.0</EasyCachingAspectCorePackageVersion>
10+
<EasyCachingCastlePackageVersion>1.9.0</EasyCachingCastlePackageVersion>
11+
<EasyCachingResponseCachingPackageVersion>1.9.0</EasyCachingResponseCachingPackageVersion>
12+
<EasyCachingJsonPackageVersion>1.9.0</EasyCachingJsonPackageVersion>
13+
<EasyCachingMessagePackPackageVersion>1.9.0</EasyCachingMessagePackPackageVersion>
14+
<EasyCachingProtobufPackageVersion>1.9.0</EasyCachingProtobufPackageVersion>
15+
<EasyCachingCSRedisPackageVersion>1.9.0</EasyCachingCSRedisPackageVersion>
16+
<EasyCachingRedisBusPackageVersion>1.9.0</EasyCachingRedisBusPackageVersion>
17+
<EasyCachingCSRedisBusPackageVersion>1.9.0</EasyCachingCSRedisBusPackageVersion>
18+
<EasyCachingRabbitBusPackageVersion>1.9.0</EasyCachingRabbitBusPackageVersion>
19+
<EasyCachingKafkaBusPackageVersion>1.9.0</EasyCachingKafkaBusPackageVersion>
20+
<EasyCachingZookeeperBusPackageVersion>1.9.0</EasyCachingZookeeperBusPackageVersion>
21+
<EasyCachingDiskPackageVersion>1.9.0</EasyCachingDiskPackageVersion>
22+
<EasyCachingMsExtPackageVersion>1.9.0</EasyCachingMsExtPackageVersion>
23+
<EasyCachingLiteDBPackageVersion>1.9.0</EasyCachingLiteDBPackageVersion>
24+
<EasyCachingSTJsonPackageVersion>1.9.0</EasyCachingSTJsonPackageVersion>
25+
<EasyCachingMemoryPackageVersion>1.9.0</EasyCachingMemoryPackageVersion>
26+
<EasyCachingFaskKVPackageVersion>1.9.0</EasyCachingFaskKVPackageVersion>
2727
</PropertyGroup>
2828
</Project>

bus/EasyCaching.Bus.CSRedis/DefaultCSRedisBus.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,21 @@ public override void BaseSubscribe(string topic, Action<EasyCachingMessage> acti
6464
);
6565
}
6666

67+
/// <summary>
68+
/// Subscribe the specified topic and action async.
69+
/// </summary>
70+
/// <param name="topic">Topic.</param>
71+
/// <param name="action">Action.</param>
72+
/// <param name="cancellationToken">Cancellation token.</param>
73+
public override Task BaseSubscribeAsync(string topic, Action<EasyCachingMessage> action, CancellationToken cancellationToken = default(CancellationToken))
74+
{
75+
_client.Subscribe(
76+
(topic, msg => OnMessage(msg.Body))
77+
);
78+
return Task.CompletedTask;
79+
}
80+
81+
6782
/// <summary>
6883
/// Ons the message.
6984
/// </summary>

bus/EasyCaching.Bus.ConfluentKafka/DefaultConfluentKafkaBus.cs

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
using Microsoft.Extensions.Options;
1313

1414
public class DefaultConfluentKafkaBus : EasyCachingAbstractBus
15-
{
15+
{
1616

1717

1818
/// <summary>
@@ -77,7 +77,7 @@ public override void BasePublish(string topic, EasyCachingMessage message)
7777
/// <param name="cancellationToken">Cancellation token.</param>
7878
public override async Task BasePublishAsync(string topic, EasyCachingMessage message, CancellationToken cancellationToken = default(CancellationToken))
7979
{
80-
var msg = _serializer.Serialize(message);
80+
var msg = _serializer.Serialize(message);
8181

8282
await _producer.ProduceAsync(topic, new Message<Null, byte[]> { Value = msg });
8383
}
@@ -89,7 +89,27 @@ public override void BasePublish(string topic, EasyCachingMessage message)
8989
/// <param name="action">Action.</param>
9090
public override void BaseSubscribe(string topic, Action<EasyCachingMessage> action)
9191
{
92-
Task.Factory.StartNew(() =>
92+
_ = StartConsumer(topic);
93+
}
94+
95+
/// <summary>
96+
/// Subscribe the specified topic and action async.
97+
/// </summary>
98+
/// <param name="topic">Topic.</param>
99+
/// <param name="action">Action.</param>
100+
/// <param name="cancellationToken">Cancellation token.</param>
101+
public override async Task BaseSubscribeAsync(string topic, Action<EasyCachingMessage> action, CancellationToken cancellationToken = default(CancellationToken))
102+
{
103+
await StartConsumer(topic);
104+
}
105+
106+
/// <summary>
107+
/// Ons the consumer.
108+
/// </summary>
109+
/// <param name="topic">Topic</param>
110+
private Task StartConsumer(string topic)
111+
{
112+
return Task.Factory.StartNew(() =>
93113
{
94114
for (int i = 0; i < this._kafkaBusOptions.ConsumerCount; i++)
95115
{

bus/EasyCaching.Bus.RabbitMQ/DefaultRabbitMQBus.cs

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ IPooledObjectPolicy<IModel> _objectPolicy
6565
RequestedConnectionTimeout = System.TimeSpan.FromMilliseconds(_options.RequestedConnectionTimeout),
6666
SocketReadTimeout = System.TimeSpan.FromMilliseconds(_options.SocketReadTimeout),
6767
SocketWriteTimeout = System.TimeSpan.FromMilliseconds(_options.SocketWriteTimeout),
68-
ClientProvidedName = _options.ClientProvidedName
68+
ClientProvidedName = _options.ClientProvidedName,
6969
};
7070

7171
_subConnection = factory.CreateConnection();
@@ -156,6 +156,28 @@ public override void BaseSubscribe(string topic, Action<EasyCachingMessage> acti
156156
}
157157

158158

159+
/// <summary>
160+
/// Subscribe the specified topic and action async.
161+
/// </summary>
162+
/// <param name="topic">Topic.</param>
163+
/// <param name="action">Action.</param>
164+
/// <param name="cancellationToken">Cancellation token.</param>
165+
public override Task BaseSubscribeAsync(string topic, Action<EasyCachingMessage> action, CancellationToken cancellationToken = default(CancellationToken))
166+
{
167+
var queueName = string.Empty;
168+
if (string.IsNullOrWhiteSpace(_options.QueueName))
169+
{
170+
queueName = $"rmq.queue.undurable.easycaching.subscriber.{_busId}";
171+
}
172+
else
173+
{
174+
queueName = _options.QueueName;
175+
}
176+
177+
StartConsumer(queueName, topic);
178+
return Task.CompletedTask;
179+
}
180+
159181
private void StartConsumer(string queueName, string topic)
160182
{
161183
var model = _subConnection.CreateModel();

bus/EasyCaching.Bus.Redis/Configurations/RedisBusOptions.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace EasyCaching.Bus.Redis
22
{
33
using EasyCaching.Core.Configurations;
4+
using StackExchange.Redis;
45

56
/// <summary>
67
/// Redis bus options.
@@ -17,5 +18,10 @@ public class RedisBusOptions : BaseRedisOptions
1718
/// Gets or sets the serializer name that should be use in this bus.
1819
/// </summary>
1920
public string SerializerName { get; set; }
21+
22+
/// <summary>
23+
/// Gets or sets the Redis database ConfigurationOptions will use.
24+
/// </summary>
25+
public ConfigurationOptions ConfigurationOptions { get; set; }
2026
}
2127
}

bus/EasyCaching.Bus.Redis/Configurations/RedisSubscriberProvider.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ public ISubscriber GetSubscriber()
4848
/// <returns>The connection multiplexer.</returns>
4949
private ConnectionMultiplexer CreateConnectionMultiplexer()
5050
{
51+
if (_options.ConfigurationOptions != null)
52+
return ConnectionMultiplexer.Connect(_options.ConfigurationOptions);
53+
5154
if (string.IsNullOrWhiteSpace(_options.Configuration))
5255
{
5356
var configurationOptions = new ConfigurationOptions
@@ -67,7 +70,7 @@ private ConnectionMultiplexer CreateConnectionMultiplexer()
6770
configurationOptions.EndPoints.Add(endpoint.Host, endpoint.Port);
6871
}
6972

70-
return ConnectionMultiplexer.Connect(configurationOptions.ToString());
73+
return ConnectionMultiplexer.Connect(configurationOptions);
7174
}
7275
else
7376
{

bus/EasyCaching.Bus.Redis/DefaultRedisBus.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,5 +104,16 @@ public override void BaseSubscribe(string topic, Action<EasyCachingMessage> acti
104104
{
105105
_subscriber.Subscribe(topic, OnMessage);
106106
}
107+
108+
/// <summary>
109+
/// Subscribe the specified topic and action async.
110+
/// </summary>
111+
/// <param name="topic">Topic.</param>
112+
/// <param name="action">Action.</param>
113+
/// <param name="cancellationToken">Cancellation token.</param>
114+
public override async Task BaseSubscribeAsync(string topic, Action<EasyCachingMessage> action, CancellationToken cancellationToken = default(CancellationToken))
115+
{
116+
await _subscriber.SubscribeAsync(topic, OnMessage);
117+
}
107118
}
108119
}

bus/EasyCaching.Bus.Zookeeper/Configurations/EasyCachingOptionsExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ this EasyCachingOptions options
3434
/// <param name="configuration"></param>
3535
/// <param name="sectionName">The section name in the configuration file.</param>
3636
/// <returns></returns>
37-
public static EasyCachingOptions WithConfluentKafkaBus(
37+
public static EasyCachingOptions WithZookeeeperBus(
3838
this EasyCachingOptions options
3939
, IConfiguration configuration
4040
, string sectionName = EasyCachingConstValue.ZookeeperBusSection

bus/EasyCaching.Bus.Zookeeper/DefaultZookeeperBus.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,18 @@ public override void BaseSubscribe(string topic, Action<EasyCachingMessage> acti
116116
}, TaskCreationOptions.LongRunning);
117117
}
118118

119+
/// <summary>
120+
/// Subscribe the specified topic and action async.
121+
/// </summary>
122+
/// <param name="topic">Topic.</param>
123+
/// <param name="action">Action.</param>
124+
/// <param name="cancellationToken">Cancellation token.</param>
125+
public override async Task BaseSubscribeAsync(string topic, Action<EasyCachingMessage> action, CancellationToken cancellationToken = default(CancellationToken))
126+
{
127+
var path = $"{topic}";
128+
await SubscribeDataChangeAsync(path, SubscribeDataChange);
129+
}
130+
119131
/// <summary>
120132
/// Ons the message.
121133
/// </summary>

0 commit comments

Comments
 (0)