Provides caching support for xPike.
xPike Caching is the recommended approach for caching object data in xPike.
- Only supports simple Get/Set of a serialized object by cache key right now.
- Supports multiple named connections, each with a different configuration.
- Supports caching in local memory through the InMemoryCacheProvider.
- Supports N-tier cache configurations through the HybridCacheProvider.
- Supports distributed invalidation of local caches through a pub/sub mechanism.
- Supports an Extended TTL concept to distinguish "stale" from "expired" data.
- Allows stale data to be used during a transient outage of a datasource.
-
ICachingService
=>CachingService
-
ICacheInvalidationService
=>NullCacheInvalidationService
-
IInMemoryCachingConnectionProvider
=>InMemoryCachingConnectionProvider
-
IHybridCachingConnectionProvider
=>HybridCachingConnectionProvider
In ASP.NET Core:
public void ConfigureServices(IServiceCollection services)
{
services.AddXPikeDependencyInjection()
.AddXPikeCaching();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseXPikeDependencyInjection()
.UseXPikeCacheProvider<IHybridCachingConnectionProvider>(null)
.AddXPikeHybridCacheProvider<IInMemoryCachingConnectionProvider>(null);
}
XPike.Logging
XPike.Configuration
XPike.IoC
Building from source and running unit tests requires a Windows machine with:
- .Net Core 3.0 SDK
- .Net Framework 4.6.1 Developer Pack
Issues are tracked on GitHub. Anyone is welcome to file a bug, an enhancement request, or ask a general question. We ask that bug reports include:
- A detailed description of the problem
- Steps to reproduce
- Expected results
- Actual results
- Version of the package xPike
- Version of the .Net runtime
See our contributing guidelines in our documentation for information on how to contribute to xPike.
xPike is licensed under the MIT License.