本项目缓存组件适用用于.NET STANDARD 2.0 的项目,目前支持 Redis 缓存以及 Memory 缓存。
内存缓存。
Install-Package Creekdream.Cache.Memory
services.AddCreekdreamMemoryCache(options => { });
Redis 缓存在使用过程中,请尽量不要存储内容过大,可能会造成超时等问题。
Install-Package Creekdream.Cache.Redis
services.AddCreekdreamRedisCache(
options =>
{
options.ConnectionString = "127.0.0.1";
});
/// <inheritdoc />
public class RedisCacheService:IRedisCacheService
{
private readonly ICache _cache;
/// <inheritdoc />
public RedisCacheTest(ICacheManager cacheManager)
{
_cache = cacheManager.GetCache("RedisCacheTest");
}
}
[Fact]
public async Task Simple_Get_Set_Expire_Test()
{
var key = "TestKey";
var value = "TestValue";
await _cache.SetAsync(key, value, TimeSpan.FromMilliseconds(100));
var strValue = await _cache.GetAsync<string>(key);
strValue.ShouldBe(value);
await Task.Delay(150);
strValue = await _cache.GetAsync<string>(key);
strValue.ShouldBeNull();
}
[Fact]
public async Task Object_Get_Set_Test()
{
var key = nameof(ObjectTestClass);
var value = new ObjectTestClass()
{
Name = "zhangsan",
Age = 18
};
await _cache.SetAsync(key, value);
var objValue = await _cache.GetAsync<ObjectTestClass>(key);
objValue.Name.ShouldBe(value.Name);
objValue.Age.ShouldBe(value.Age);
}
更多使用示例请参考单元测试。
- Fork Creekdream.AspNetCore 开源框架
- 新建 feature-{tag} 分支
- 完成功能并提交代码
- 新建 Pull Request