Cat.Cache/Cat.RedisCache/RedisCacheImp.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Newtonsoft.Json;
using StackExchange.Redis;
using Cat.Cache.Interface;
using Cat.Util;
namespace Cat.RedisCache
{
public class RedisCacheImp : ICache
{
private IDatabase cache;
private ConnectionMultiplexer connection;
public RedisCacheImp()
{
connection = ConnectionMultiplexer.Connect(GlobalContext.SystemConfig.RedisConnectionString);
cache = connection.GetDatabase();
}
public bool SetCache<T>(string key, T value, DateTime? expireTime = null)
{
try
{
var jsonOption = new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};
string strValue = JsonConvert.SerializeObject(value, jsonOption);
if (string.IsNullOrEmpty(strValue))
{
return false;
}
if (expireTime == null)
{
return cache.StringSet(key, strValue);
}
else
{
return cache.StringSet(key, strValue, (expireTime.Value - DateTime.Now));
}
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return false;
}
public bool RemoveCache(string key)
{
return cache.KeyDelete(key);
}
public T GetCache<T>(string key)
{
var t = default(T);
try
{
后面还有 100 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。