WeCat.MemoryCache.Core
1.0.6
dotnet add package WeCat.MemoryCache.Core --version 1.0.6
NuGet\Install-Package WeCat.MemoryCache.Core -Version 1.0.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WeCat.MemoryCache.Core" Version="1.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WeCat.MemoryCache.Core" Version="1.0.6" />
<PackageReference Include="WeCat.MemoryCache.Core" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WeCat.MemoryCache.Core --version 1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: WeCat.MemoryCache.Core, 1.0.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WeCat.MemoryCache.Core@1.0.6
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WeCat.MemoryCache.Core&version=1.0.6
#tool nuget:?package=WeCat.MemoryCache.Core&version=1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
WeCat.MemoryCache.Core
轻量级的 MemoryCache 封装库,面向 .NET 10,提供简单一致的缓存服务接口,便于在应用中快速接入内存缓存。
安装
dotnet add package WeCat.MemoryCache.Core
使用
1. 在 Program.cs 中注册服务
方式 1(显式注册):
builder.Services.AddMemoryCache();
builder.Services.AddSingleton<IMemoryCacheService, MemoryCacheService>();
方式 2(推荐,扩展方法):
builder.Services.AddMemoryCacheCore();
2. 在业务类中使用
2.1 构造函数注入(推荐)
public class DemoService
{
private readonly IMemoryCacheService _cache;
public DemoService(IMemoryCacheService cache)
{
_cache = cache;
}
public string GetData(string key)
{
return _cache.GetOrCreate(key, TimeSpan.FromMinutes(5), () => $"data:{key}");
}
}
2.2 方法参数注入(如 Controller / Minimal API)
[HttpGet("{key}")]
public IActionResult Get(string key, [FromServices] IMemoryCacheService cache)
{
var value = cache.Get<string>(key);
return Ok(value);
}
app.MapGet("/cache/{key}", (string key, IMemoryCacheService cache) =>
{
return cache.Get<string>(key);
});
2.3 手动从容器获取(非 DI 创建对象场景)
var cache = serviceProvider.GetRequiredService<IMemoryCacheService>();
cache.Set("k1", "v1", TimeSpan.FromMinutes(5));
3. 常用 API
cache.Set("name", "WeCat", TimeSpan.FromMinutes(10));
cache.Set("name", "WeCat");
var value = cache.Get<string>("name");
var user = cache.GetOrCreate("user:1", TimeSpan.FromMinutes(5), () => LoadUser());
var exists = cache.Exists("name");
cache.Remove("name");
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Microsoft.Extensions.Caching.Memory (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.