Skip to content

Commit 108e34d

Browse files
committed
v2.0.2
1 parent edb2374 commit 108e34d

44 files changed

Lines changed: 149 additions & 2524 deletions

File tree

Some content is hidden

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

benchmarks/ZiggyCreatures.FusionCache.Benchmarks/ParallelComparisonBenchmark.cs

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
using Microsoft.Extensions.DependencyInjection;
1717
using ZiggyCreatures.Caching.Fusion.Locking;
1818
using ZiggyCreatures.Caching.Fusion.Locking.AsyncKeyed;
19-
using ZiggyCreatures.Caching.Fusion.MicrosoftHybridCache;
2019

2120
namespace ZiggyCreatures.Caching.Fusion.Benchmarks;
2221

@@ -60,9 +59,6 @@ public Config()
6059
private CacheStack _CacheTower = null!;
6160
private IEasyCachingProvider _EasyCaching = null!;
6261
private CachingService _LazyCache = null!;
63-
private HybridCache _HybridCache = null!;
64-
private FusionCache _FusionCacheForHybrid = null!;
65-
private HybridCache _FusionHybridCache = null!;
6662

6763
[GlobalSetup]
6864
public void Setup()
@@ -91,9 +87,6 @@ public void Setup()
9187
_EasyCaching = ServiceProvider.GetRequiredService<IEasyCachingProviderFactory>().GetCachingProvider("default");
9288
_LazyCache = new CachingService(new MemoryCacheProvider(new MemoryCache(new MemoryCacheOptions())));
9389
_LazyCache.DefaultCachePolicy = new CacheDefaults { DefaultCacheDurationSeconds = (int)(CacheDuration.TotalSeconds) };
94-
//_HybridCache = ServiceProvider.GetRequiredService<HybridCache>();
95-
_FusionCacheForHybrid = new FusionCache(new FusionCacheOptions { DefaultEntryOptions = new FusionCacheEntryOptions(CacheDuration) });
96-
_FusionHybridCache = new FusionHybridCache(_FusionCacheForHybrid);
9790
}
9891

9992
[GlobalCleanup]
@@ -103,7 +96,6 @@ public void Cleanup()
10396
_FusionCacheNoTagging.Dispose();
10497
_FusionCacheExperimental.Dispose();
10598
_CacheTower.DisposeAsync().AsTask().Wait();
106-
_FusionCacheForHybrid.Dispose();
10799
}
108100

109101
[Benchmark(Baseline = true)]
@@ -314,58 +306,4 @@ public async Task LazyCache()
314306
await Task.WhenAll(tasks).ConfigureAwait(false);
315307
}
316308
}
317-
318-
[Benchmark]
319-
public async Task HybridCache()
320-
{
321-
for (int i = 0; i < Rounds; i++)
322-
{
323-
var tasks = new ConcurrentBag<Task>();
324-
325-
Parallel.ForEach(Keys, key =>
326-
{
327-
Parallel.For(0, Accessors, _ =>
328-
{
329-
var t = _HybridCache.GetOrCreateAsync<SamplePayload>(
330-
key,
331-
async _ =>
332-
{
333-
await Task.Delay(FactoryDurationMs).ConfigureAwait(false);
334-
return new SamplePayload();
335-
}
336-
);
337-
tasks.Add(t.AsTask());
338-
});
339-
});
340-
341-
await Task.WhenAll(tasks).ConfigureAwait(false);
342-
}
343-
}
344-
345-
[Benchmark]
346-
public async Task FusionHybridCache()
347-
{
348-
for (int i = 0; i < Rounds; i++)
349-
{
350-
var tasks = new ConcurrentBag<Task>();
351-
352-
Parallel.ForEach(Keys, key =>
353-
{
354-
Parallel.For(0, Accessors, _ =>
355-
{
356-
var t = _FusionHybridCache.GetOrCreateAsync<SamplePayload>(
357-
key,
358-
async _ =>
359-
{
360-
await Task.Delay(FactoryDurationMs).ConfigureAwait(false);
361-
return new SamplePayload();
362-
}
363-
);
364-
tasks.Add(t.AsTask());
365-
});
366-
});
367-
368-
await Task.WhenAll(tasks).ConfigureAwait(false);
369-
}
370-
}
371309
}

src/ZiggyCreatures.FusionCache.AspNetCore.OutputCaching/ZiggyCreatures.FusionCache.AspNetCore.OutputCaching.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>net7.0;net8.0</TargetFrameworks>
5-
<Version>2.2.0</Version>
5+
<Version>2.0.2</Version>
66
<PackageId>ZiggyCreatures.FusionCache.AspNetCore.OutputCaching</PackageId>
77
<Description>ASP.NET Output Cache based on FusionCache</Description>
88
<PackageTags>aspnet;outputcache;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy</PackageTags>
99
<RootNamespace>ZiggyCreatures.Caching.Fusion.AspNetCore.OutputCaching</RootNamespace>
1010
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1111
<PackageReleaseNotes>
12+
- LTS-only release: this version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced
1213
- Update: package dependencies
1314
</PackageReleaseNotes>
1415
</PropertyGroup>

src/ZiggyCreatures.FusionCache.AspNetCore.OutputCaching/docs/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
![FusionCache logo](https://raw.githubusercontent.com/ZiggyCreatures/FusionCache/main/docs/logo-256x256.png)
44

5+
| 📣 LTS-ONLY RELEASE |
6+
|:--|
7+
| This version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced. |
8+
59
### FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
610

711
It was born after years of dealing with all sorts of different types of caches: memory caching, distributed caching, http caching, CDNs, browser cache, offline cache, you name it. So I've tried to put together these experiences and came up with FusionCache.

src/ZiggyCreatures.FusionCache.Backplane.Memory/ZiggyCreatures.FusionCache.Backplane.Memory.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5-
<Version>2.2.0</Version>
5+
<Version>2.0.2</Version>
66
<PackageId>ZiggyCreatures.FusionCache.Backplane.Memory</PackageId>
77
<Description>FusionCache in memory backplane, used for testing</Description>
88
<PackageTags>backplane;memory;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy</PackageTags>
99
<RootNamespace>ZiggyCreatures.Caching.Fusion.Backplane.Memory</RootNamespace>
1010
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1111
<PackageReleaseNotes>
12+
- LTS-only release: this version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced
1213
- Change: better async support for subscribe/unsubscribe/publish
1314
- Update: package dependencies
1415
</PackageReleaseNotes>

src/ZiggyCreatures.FusionCache.Backplane.Memory/docs/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
![FusionCache logo](https://raw.githubusercontent.com/ZiggyCreatures/FusionCache/main/docs/logo-256x256.png)
44

5+
| 📣 LTS-ONLY RELEASE |
6+
|:--|
7+
| This version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced. |
8+
59
### FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
610

711
It was born after years of dealing with all sorts of different types of caches: memory caching, distributed caching, http caching, CDNs, browser cache, offline cache, you name it. So I've tried to put together these experiences and came up with FusionCache.

src/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net8.0;net9.0</TargetFrameworks>
5-
<Version>2.2.0</Version>
5+
<Version>2.0.2</Version>
66
<PackageId>ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis</PackageId>
77
<Description>FusionCache backplane for Redis based on the StackExchange.Redis library</Description>
88
<PackageTags>backplane;redis;stackexchange;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy</PackageTags>
99
<RootNamespace>ZiggyCreatures.Caching.Fusion.Backplane.StackExchangeRedis</RootNamespace>
1010
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1111
<PackageReleaseNotes>
12+
- LTS-only release: this version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced
1213
- Change: better async support for subscribe/unsubscribe/publish
1314
- Update: package dependencies
1415
</PackageReleaseNotes>

src/ZiggyCreatures.FusionCache.Backplane.StackExchangeRedis/docs/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
![FusionCache logo](https://raw.githubusercontent.com/ZiggyCreatures/FusionCache/main/docs/logo-256x256.png)
44

5+
| 📣 LTS-ONLY RELEASE |
6+
|:--|
7+
| This version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced. |
8+
59
### FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
610

711
It was born after years of dealing with all sorts of different types of caches: memory caching, distributed caching, http caching, CDNs, browser cache, offline cache, you name it. So I've tried to put together these experiences and came up with FusionCache.

src/ZiggyCreatures.FusionCache.Chaos/ZiggyCreatures.FusionCache.Chaos.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5-
<Version>2.2.0</Version>
5+
<Version>2.0.2</Version>
66
<PackageId>ZiggyCreatures.FusionCache.Chaos</PackageId>
77
<Description>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.</Description>
88
<PackageTags>chaos;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy</PackageTags>
99
<RootNamespace>ZiggyCreatures.Caching.Fusion.Chaos</RootNamespace>
1010
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1111
<PackageReleaseNotes>
12+
- LTS-only release: this version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced
1213
- Update: package dependencies
1314
</PackageReleaseNotes>
1415
<PackageValidationBaselineVersion>1.0.0</PackageValidationBaselineVersion>

src/ZiggyCreatures.FusionCache.Chaos/docs/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
![FusionCache logo](https://raw.githubusercontent.com/ZiggyCreatures/FusionCache/main/docs/logo-256x256.png)
44

5+
| 📣 LTS-ONLY RELEASE |
6+
|:--|
7+
| This version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced. |
8+
59
### FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
610

711
It was born after years of dealing with all sorts of different types of caches: memory caching, distributed caching, http caching, CDNs, browser cache, offline cache, you name it. So I've tried to put together these experiences and came up with FusionCache.

src/ZiggyCreatures.FusionCache.Locking.AsyncKeyed/ZiggyCreatures.FusionCache.Locking.AsyncKeyed.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>netstandard2.0;net8.0;net9.0</TargetFrameworks>
5-
<Version>2.2.0</Version>
5+
<Version>2.0.2</Version>
66
<PackageId>ZiggyCreatures.FusionCache.Locking.AsyncKeyed</PackageId>
77
<Description>FusionCache memory locker based on the AsyncKeyedLock library</Description>
88
<PackageTags>memory-locker;caching;cache;hybrid;hybrid-cache;hybridcache;multi-level;multilevel;fusion;fusioncache;fusion-cache;performance;async;ziggy</PackageTags>
99
<RootNamespace>ZiggyCreatures.Caching.Fusion.Locking.AsyncKeyed</RootNamespace>
1010
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1111
<PackageReleaseNotes>
12+
- LTS-only release: this version references only .NET 8 core packages, so it can be used in scenarios where only LTS packages can be referenced
1213
- Initial release
1314
</PackageReleaseNotes>
1415
</PropertyGroup>

0 commit comments

Comments
 (0)