EasyCaching——redis
EasyCaching
var code = e659eeb6-957f-423b-a732-1e68d6873872
EasyCaching
个人实例
1.安装包
EasyCaching.Core
EasyCaching.Redis
EasyCaching.Serialization.MessagePack
这里是以1.4.0为例
2.服务注册
netcore3.0,5.0是在startup,net6是在program设置
builder.Services.AddEasyCaching(option =>
{
option.UseRedis(t =>
{
//43.138.88.44服务器地址,6379端口
t.DBConfig.Endpoints.Add(new EasyCaching.Core.Configurations.ServerEndPoint("服务器地址",6379) );
//连接那个数据库
t.DBConfig.Database = 1;
//数据库密码
t.DBConfig.Password = "服务器密码";
});
});
3.使用
Person辅助类
public class Person
{
public string Name { get; set; }
public string Sex { get; set; }
}
ValuesController.cs
using EasyCaching.Core;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace RedisTest.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
private readonly IRedisCachingProvider _redisCachingProvider;
public ValuesController(IRedisCachingProvider redisCachingProvider)
{
_redisCachingProvider = redisCachingProvider;
}
[HttpPost]
[Route("select-cache")]
public async Task<string> SelectCache()
{
return await _redisCachingProvider.StringGetAsync("name");
}
//这里在key不变的情况下,将上面的性别更改了
[HttpPost]
[Route("update-cache-sex")]
public async Task UpdateCache()
{
Person person = new Person
{
Name = "lty",
Sex = "woman"
};
await _redisCachingProvider.StringSetAsync("name", JsonConvert.SerializeObject(person),
TimeSpan.FromMinutes(1));
}
//这里在修改了缓存的key,尽管其他没有改变,但是会重新创建一个缓存
[HttpPost]
[Route("update-cache-sex-key")]
public async Task UpdateCacheSexKey()
{
Person person = new Person
{
Name = "lty",
Sex = "woman"
};
await _redisCachingProvider.StringSetAsync("womanname", JsonConvert.SerializeObject(person),
TimeSpan.FromMinutes(1));
}
[HttpPost]
[Route("remove-cache")]
public async Task RemoveCache()
{
Person person = new Person
{
Name = "lty",
Sex = "man"
};
await _redisCachingProvider.KeyDelAsync("name");
}
[HttpPost]
[Route("create-cache")]
public async Task CreateCache()
{
Person person = new Person
{
Name = "lty",
Sex = "man"
};
await _redisCachingProvider.StringSetAsync("name", JsonConvert.SerializeObject(person),
TimeSpan.FromMinutes(1));
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异