src/Library/NetPro.CsRedis/CsRedisManager.cs

(开头部分) 30KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using CSRedis;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

namespace NetPro.CsRedis
{
    /// <summary>
    /// 
    /// </summary>
    public class CsRedisManager : IRedisManager
    {
        private readonly RedisCacheOption _option;
        private readonly ISerializer _serializer;
        private IMemoryCache _memorycache;
        private ILogger _logger;
        private readonly IdleBus<CSRedisClient> _cSRedisClient;

        /// <summary>
        /// 
        /// </summary>
        /// <param name="option"></param>
        /// <param name="serializer"></param>
        /// <param name="cSRedisClient"></param>
        /// <param name="memorycache"></param>
        /// <param name="logger"></param>
        public CsRedisManager(RedisCacheOption option,
            ISerializer serializer
            , IdleBus<CSRedisClient> cSRedisClient
            , IMemoryCache memorycache = null
            , ILogger<CsRedisManager> logger = null
            )
        {
            _serializer = serializer;
            _cSRedisClient = cSRedisClient;
            _option = option;
            _memorycache = memorycache;
            _logger = logger ?? NullLogger<CsRedisManager>.Instance; ;
        }

        public T Get<T>(string key, string dbKey = default)
        {
            if (string.IsNullOrWhiteSpace(dbKey))
            {
                dbKey = $"{_option.ConnectionString.FirstOrDefault()?.Key}";
            }
            var result = _cSRedisClient.Get(dbKey).Get<T>(key);
            return result;
        }

        public async Task<T> GetAsync<T>(string key, string dbKey = default)
        {
            if (string.IsNullOrWhiteSpace(dbKey))
            {
                dbKey = $"{_option.ConnectionString.FirstOrDefault()?.Key}";
后面还有 733 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。