增加redis;

待处理流程中可以查看驳回的流程
This commit is contained in:
yubaolee
2021-03-09 23:35:14 +08:00
parent 679dc613c1
commit 80c38c26d7
8 changed files with 148 additions and 3 deletions

View File

@@ -35,6 +35,11 @@
//identity授权的地址
public string IdentityServerUrl { get; set; }
/// <summary>
/// Redis服务器配置
/// </summary>
public string RedisConf { get; set; }
//是否是Identity授权方式
public bool IsIdentityAuth => !string.IsNullOrEmpty(IdentityServerUrl);

View File

@@ -0,0 +1,59 @@
using System;
using Enyim.Caching;
using Enyim.Caching.Memcached;
using Microsoft.Extensions.Options;
using StackExchange.Redis;
namespace Infrastructure.Cache
{
/// <summary>
/// 缓存redis实现
/// </summary>
public sealed class RedisCacheContext : ICacheContext
{
private ConnectionMultiplexer _conn { get; set; }
private IDatabase iDatabase { get; set; }
private AppSetting _appSettings;
public RedisCacheContext(IOptions<AppSetting> options)
{
_conn = ConnectionMultiplexer.Connect(options.Value.RedisConf);
iDatabase = _conn.GetDatabase();
}
public override T Get<T>(string key)
{
RedisValue value = iDatabase.StringGet(key);
if (!value.HasValue)
{
return default(T);
}
if (typeof(T) == typeof(string))
{
return (T) Convert.ChangeType(value, typeof(T));
}
else
{
return JsonHelper.Instance.Deserialize<T>(value);
}
}
public override bool Set<T>(string key, T t, DateTime expire)
{
if (typeof(T) == typeof(string))
{
return iDatabase.StringSet(key, t.ToString(), expire-DateTime.Now);
}
else
{
return iDatabase.StringSet(key, JsonHelper.Instance.Serialize(t), expire - DateTime.Now);
}
}
public override bool Remove(string key)
{
return iDatabase.KeyDelete(key);
}
}
}

View File

@@ -19,6 +19,7 @@
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.16.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.2" />
<PackageReference Include="StackExchange.Redis" Version="2.2.4" />
</ItemGroup>
<ItemGroup>