diff --git a/benchmarks/ZiggyCreatures.FusionCache.Benchmarks/ParallelComparisonBenchmark.cs b/benchmarks/ZiggyCreatures.FusionCache.Benchmarks/ParallelComparisonBenchmark.cs index bacd3b1..2f099e2 100644 --- a/benchmarks/ZiggyCreatures.FusionCache.Benchmarks/ParallelComparisonBenchmark.cs +++ b/benchmarks/ZiggyCreatures.FusionCache.Benchmarks/ParallelComparisonBenchmark.cs @@ -80,7 +80,7 @@ public void Setup() // SETUP CACHES _FusionCache = new FusionCache(new FusionCacheOptions { DefaultEntryOptions = new FusionCacheEntryOptions(CacheDuration) }); - _FusionCacheNoTagging = new FusionCache(new FusionCacheOptions { DefaultEntryOptions = new FusionCacheEntryOptions(CacheDuration), DisabledTagging = true }); + _FusionCacheNoTagging = new FusionCache(new FusionCacheOptions { DefaultEntryOptions = new FusionCacheEntryOptions(CacheDuration), DisableTagging = true }); _FusionCacheProbabilistic = new FusionCache(new FusionCacheOptions { DefaultEntryOptions = new FusionCacheEntryOptions(CacheDuration) }, memoryLocker: new ProbabilisticMemoryLocker()); _CacheTower = new CacheStack(null, new CacheStackOptions([new MemoryCacheLayer()]) { Extensions = [new AutoCleanupExtension(TimeSpan.FromMinutes(5))] }); _EasyCaching = ServiceProvider.GetRequiredService().GetCachingProvider("default"); diff --git a/src/ZiggyCreatures.FusionCache.Backplane.Memory/ZiggyCreatures.FusionCache.Backplane.Memory.csproj b/src/ZiggyCreatures.FusionCache.Backplane.Memory/ZiggyCreatures.FusionCache.Backplane.Memory.csproj index a8578d9..b4f4dbc 100644 --- a/src/ZiggyCreatures.FusionCache.Backplane.Memory/ZiggyCreatures.FusionCache.Backplane.Memory.csproj +++ b/src/ZiggyCreatures.FusionCache.Backplane.Memory/ZiggyCreatures.FusionCache.Backplane.Memory.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Backplane.Memory FusionCache in memory backplane, used for testing backplane;memory;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy diff --git a/src/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis.csproj b/src/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis.csproj index 99f31a1..3a59ebf 100644 --- a/src/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis.csproj +++ b/src/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis FusionCache backplane for Redis based on the StackExchange.Redis library backplane;redis;stackexchange;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy @@ -24,7 +24,7 @@ - + diff --git a/src/ZiggyCreatures.FusionCache.Chaos/ZiggyCreatures.FusionCache.Chaos.csproj b/src/ZiggyCreatures.FusionCache.Chaos/ZiggyCreatures.FusionCache.Chaos.csproj index bf248db..69870b2 100644 --- a/src/ZiggyCreatures.FusionCache.Chaos/ZiggyCreatures.FusionCache.Chaos.csproj +++ b/src/ZiggyCreatures.FusionCache.Chaos/ZiggyCreatures.FusionCache.Chaos.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Chaos Chaos-related utilities and implementations of various componenets (like a distributed cache or a backplane), useful for things like testing dependent components' behavior in a controlled failing environment. chaos;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy diff --git a/src/ZiggyCreatures.FusionCache.OpenTelemetry/ZiggyCreatures.FusionCache.OpenTelemetry.csproj b/src/ZiggyCreatures.FusionCache.OpenTelemetry/ZiggyCreatures.FusionCache.OpenTelemetry.csproj index 07d05cf..4030833 100644 --- a/src/ZiggyCreatures.FusionCache.OpenTelemetry/ZiggyCreatures.FusionCache.OpenTelemetry.csproj +++ b/src/ZiggyCreatures.FusionCache.OpenTelemetry/ZiggyCreatures.FusionCache.OpenTelemetry.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.OpenTelemetry Add native OpenTelemetry support to FusionCache. telemetry;observability;opentelemetry;open-telemetry;chaos;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy diff --git a/src/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack.csproj b/src/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack.csproj index e9e2f24..d40599a 100644 --- a/src/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack.csproj +++ b/src/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack/ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack.csproj @@ -2,7 +2,7 @@ netstandard2.1;net7.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Serialization.CysharpMemoryPack FusionCache serializer based on Cysharp's MemoryPack serializer memorypack;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy;cache-stampede diff --git a/src/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack.csproj b/src/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack.csproj index faf6e4e..6c36c9f 100644 --- a/src/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack.csproj +++ b/src/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack/ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Serialization.NeueccMessagePack FusionCache serializer based on Neuecc's MessagePack serializer messagepack;msgpack;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy;cache-stampede @@ -25,7 +25,7 @@ - + diff --git a/src/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson.csproj b/src/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson.csproj index ba6d206..ebf70ad 100644 --- a/src/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson.csproj +++ b/src/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson/ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Serialization.NewtonsoftJson FusionCache serializer based on Newtonsoft Json.NET json;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy;cache-stampede diff --git a/src/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet.csproj b/src/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet.csproj index 6161171..6bbcc8b 100644 --- a/src/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet.csproj +++ b/src/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet/ZiggyCreatures.FusionCache.Serialization.ProtoBufNet.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Serialization.ProtoBufNet FusionCache serializer based on protobuf-net protobuf;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy diff --git a/src/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson.csproj b/src/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson.csproj index 7e2dbf4..3283598 100644 --- a/src/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson.csproj +++ b/src/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson/ZiggyCreatures.FusionCache.Serialization.ServiceStackJson.csproj @@ -2,13 +2,14 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Serialization.ServiceStackJson FusionCache serializer based on ServiceStack's Json serializer json;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy;cache-stampede ZiggyCreatures.Caching.Fusion.Serialization.ServiceStackJson true + - Add: Tagging support (preview) - Update: package dependencies 1.0.0 @@ -24,7 +25,7 @@ - + diff --git a/src/ZiggyCreatures.FusionCache.Serialization.SystemTextJson/ZiggyCreatures.FusionCache.Serialization.SystemTextJson.csproj b/src/ZiggyCreatures.FusionCache.Serialization.SystemTextJson/ZiggyCreatures.FusionCache.Serialization.SystemTextJson.csproj index 5164390..af095fd 100644 --- a/src/ZiggyCreatures.FusionCache.Serialization.SystemTextJson/ZiggyCreatures.FusionCache.Serialization.SystemTextJson.csproj +++ b/src/ZiggyCreatures.FusionCache.Serialization.SystemTextJson/ZiggyCreatures.FusionCache.Serialization.SystemTextJson.csproj @@ -2,13 +2,14 @@ netstandard2.0 - 2.0.0-preview-1 + 2.0.0-preview-3 ZiggyCreatures.FusionCache.Serialization.SystemTextJson FusionCache serializer based on System.Text.Json json;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy ZiggyCreatures.Caching.Fusion.Serialization.SystemTextJson true + - Add: Tagging support (preview) - Update: package dependencies 1.0.0 diff --git a/src/ZiggyCreatures.FusionCache/FusionCache.cs b/src/ZiggyCreatures.FusionCache/FusionCache.cs index 9b69cc8..51bb0e3 100644 --- a/src/ZiggyCreatures.FusionCache/FusionCache.cs +++ b/src/ZiggyCreatures.FusionCache/FusionCache.cs @@ -657,8 +657,8 @@ internal void ExpireMemoryEntryInternal(string operationId, string key, long? ti [MethodImpl(MethodImplOptions.AggressiveInlining)] private void CheckTaggingEnabled() { - if (_options.DisabledTagging) - throw new InvalidOperationException("This operation requires Tagging, which has been disabled via FusionCacheOptions.DisabledTagging."); + if (_options.DisableTagging) + throw new InvalidOperationException("This operation requires Tagging, which has been disabled via FusionCacheOptions.DisableTagging."); } private static string GetTagCacheKey(string tag) diff --git a/src/ZiggyCreatures.FusionCache/FusionCacheDiagnostics.cs b/src/ZiggyCreatures.FusionCache/FusionCacheDiagnostics.cs index f6f112f..d4ebb6b 100644 --- a/src/ZiggyCreatures.FusionCache/FusionCacheDiagnostics.cs +++ b/src/ZiggyCreatures.FusionCache/FusionCacheDiagnostics.cs @@ -8,7 +8,7 @@ public static class FusionCacheDiagnostics /// /// The current version of FusionCache. /// - public const string FusionCacheVersion = "2.0.0-preview-2"; + public const string FusionCacheVersion = "2.0.0-preview-3"; /// /// The activity source name for FusionCache. diff --git a/src/ZiggyCreatures.FusionCache/FusionCacheOptions.cs b/src/ZiggyCreatures.FusionCache/FusionCacheOptions.cs index 0ff780e..6d4a273 100644 --- a/src/ZiggyCreatures.FusionCache/FusionCacheOptions.cs +++ b/src/ZiggyCreatures.FusionCache/FusionCacheOptions.cs @@ -395,7 +395,7 @@ public TimeSpan BackplaneAutoRecoveryDelay ///
/// NOTE: this may get to a little performance improvement, but if you'll try to call one of the above methods an will be thrown. ///
- public bool DisabledTagging { get; set; } + public bool DisableTagging { get; set; } /// /// Specify the to use when some options have incoherent values that have been fixed with a normalization, like for example when a FailSafeMaxDuration is lower than a Duration, so the Duration is used instead. @@ -533,7 +533,7 @@ public FusionCacheOptions Duplicate() IncludeTagsInTraces = IncludeTagsInTraces, IncludeTagsInMetrics = IncludeTagsInMetrics, - DisabledTagging = DisabledTagging, + DisableTagging = DisableTagging, SkipAutoCloneForImmutableObjects = SkipAutoCloneForImmutableObjects, diff --git a/src/ZiggyCreatures.FusionCache/FusionCache_Async.cs b/src/ZiggyCreatures.FusionCache/FusionCache_Async.cs index bec2188..a3db27c 100644 --- a/src/ZiggyCreatures.FusionCache/FusionCache_Async.cs +++ b/src/ZiggyCreatures.FusionCache/FusionCache_Async.cs @@ -785,7 +785,7 @@ public async ValueTask ExpireAsync(string key, FusionCacheEntryOptions? options if (entry is null) return (null, false); - if (_options.DisabledTagging) + if (_options.DisableTagging) return (entry, true); var entryTimestamp = entry.Timestamp; diff --git a/src/ZiggyCreatures.FusionCache/FusionCache_Sync.cs b/src/ZiggyCreatures.FusionCache/FusionCache_Sync.cs index 42adac7..12bd85d 100644 --- a/src/ZiggyCreatures.FusionCache/FusionCache_Sync.cs +++ b/src/ZiggyCreatures.FusionCache/FusionCache_Sync.cs @@ -785,7 +785,7 @@ public void Expire(string key, FusionCacheEntryOptions? options = null, Cancella if (entry is null) return (null, false); - if (_options.DisabledTagging) + if (_options.DisableTagging) return (entry, true); var entryTimestamp = entry.Timestamp; diff --git a/src/ZiggyCreatures.FusionCache/ZiggyCreatures.FusionCache.csproj b/src/ZiggyCreatures.FusionCache/ZiggyCreatures.FusionCache.csproj index b745068..e076944 100644 --- a/src/ZiggyCreatures.FusionCache/ZiggyCreatures.FusionCache.csproj +++ b/src/ZiggyCreatures.FusionCache/ZiggyCreatures.FusionCache.csproj @@ -2,16 +2,26 @@ netstandard2.0;netcoreapp3.1;net6.0;net7.0;net8.0 - 2.0.0-preview-2 + 2.0.0-preview-3 ZiggyCreatures.FusionCache FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features. caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy ZiggyCreatures.Caching.Fusion True - - Add: Tagging support (preview) - - Add: Clear() support (preview) + - Add: Tagging support + - Add: Clear support + - Add: native support for Microsoft's new HybridCache (via the new ZiggyCreatures.FusionCache.MicrosoftHybridCache package) + - Fix: soft-fails in a factory (eg: ctx.Fail("Oops")) is now supported for with background factory completion + - Change: better Expire, more predictable + - Change: ReThrowSerializationExceptions does not affect serialization, only deserialization + - Add: support for immutable objects when using Auto-Clone + - Add: support for Tagging/Clear in events - Add: new IncludeTagsInLogs option + - Add: new IncludeTagsInTraces option + - Add: new IncludeTagsInMetrics option + - Change: the auto-generated InstanceId for each cache is now shorter (saves space in logs and traces) + - Update: all [Obsolete] members has been marked as errors - Update: package dependencies