feat:完善缓存相关

This commit is contained in:
陈淳
2023-04-19 13:39:55 +08:00
parent cb75196455
commit 654c7d650a
10 changed files with 214 additions and 14 deletions

View File

@@ -3,38 +3,48 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CSRedis;
using Furion.ClayObject.Extensions;
using Microsoft.AspNetCore.DataProtection.KeyManagement;
using Microsoft.Extensions.Caching.Memory;
using Yi.Framework.Module.Caching;
using Yi.Furion.Core.Rbac.Dtos.MonitorCache;
namespace Yi.Furion.Application.Rbac.Services.Impl
{
public class MonitorCacheService : IMonitorCacheService,IDynamicApiController,ITransient
public class MonitorCacheService : IMonitorCacheService, IDynamicApiController, ITransient
{
private IMemoryCache _memoryCache;
public MonitorCacheService(IMemoryCache memoryCache)
private static List<MonitorCacheNameGetListOutputDto> monitorCacheNames => new List<MonitorCacheNameGetListOutputDto>()
{
_memoryCache = memoryCache;
new MonitorCacheNameGetListOutputDto{ CacheName="Yi:Login",Remark="登录验证码"},
new MonitorCacheNameGetListOutputDto{ CacheName="Yi:User",Remark="用户信息"}
};
private Dictionary<string, string> monitorCacheNamesDic => monitorCacheNames.ToDictionary(x => x.CacheName, x => x.Remark);
private CSRedisClient _cacheClient;
public MonitorCacheService(RedisCacheClient redisCacheClient)
{
_cacheClient = redisCacheClient.Client;
}
//cacheKey value为空只要name和备注
public List<MonitorCacheNameGetListOutputDto> GetName()
{
return new List<MonitorCacheNameGetListOutputDto>() {
new MonitorCacheNameGetListOutputDto{ CacheName="Yi:Login",Remark="登录验证码"},
new MonitorCacheNameGetListOutputDto{ CacheName="Yi:User",Remark="用户信息"}
};
//固定的
return monitorCacheNames;
}
[HttpGet("key/{cacaheName}")]
public List<string> GetKey([FromRoute] string cacaheName)
{
return new List<string>() { "1233124","3124","1231251","12312412"};
var output = _cacheClient.Keys($"{cacaheName}:*");
return new List<string>() { "1233124", "3124", "1231251", "12312412" };
}
//全部不为空
[HttpGet("value/{cacaheName}/{cacaheKey}")]
public MonitorCacheGetListOutputDto GetValue([FromRoute] string cacaheName, [FromRoute] string cacaheKey)
{
return new MonitorCacheGetListOutputDto() { CacheKey= "1233124",CacheName= "Yi:Login",CacheValue="ttt",Remark= "登录验证码" };
var value = _cacheClient.Get($"{cacaheName}:{cacaheKey}");
return new MonitorCacheGetListOutputDto() { CacheKey = cacaheKey, CacheName = cacaheName, CacheValue = "ttt", Remark = monitorCacheNamesDic[cacaheName] };
}
}