src/Library/NetPro.RedisManager/CsRedisManager.cs
(开头部分) 20KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using CSRedis;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Logging;
using StackExchange.Redis;
using StackExchange.Redis.KeyspaceIsolation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace NetPro.RedisManager
{
/// <summary>
///
/// </summary>
internal class CsRedisManager : IRedisManager
{
private readonly RedisCacheOption _option;
private readonly ConnectionMultiplexer _connection;
private readonly IMemoryCache _memorycache;
private readonly ILogger _logger;
private readonly CSRedisClient _cSRedisClient;
public CsRedisManager(RedisCacheOption option
, ConnectionMultiplexer connection
, CSRedisClient cSRedisClient
, IMemoryCache memorycache
, ILogger<CsRedisManager> logger)
{
_connection = connection;
_cSRedisClient = cSRedisClient;
_option = option;
_memorycache = memorycache;
_logger = logger;
}
public T Get<T>(string key)
{
var result = _cSRedisClient.Get<T>(key);
return result;
}
public async Task<T> GetAsync<T>(string key)
{
var result = await _cSRedisClient.GetAsync<T>(key);
return result;
}
/// <summary>
///获取或者创建缓存
/// localExpiredTime参数大于0并且小于expiredTime数据将缓存到本地内存
/// 设置了本地缓存过期时间大于0并委托也为空,本地将保持5秒空值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="func"></param>
/// <param name="expiredTime"></param>
/// <param name="localExpiredTime">本地过期时间</param>
/// <returns></returns>
public T GetOrSet<T>(string key, Func<T> func = null, TimeSpan? expiredTime = null, int localExpiredTime = 0)
后面还有 549 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。