From 4c5b9e5a388a6ff3a1c75f409e40d7e19aefa641 Mon Sep 17 00:00:00 2001 From: capad Date: Sun, 26 Sep 2021 15:21:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20appsettings.json=20RedisCo?= =?UTF-8?q?nfig.UseCache=20=3D=20false=E6=97=B6=E7=B3=BB=E7=BB=9F=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RedisCache/RedisOperationRepository.cs | 11 ++++++++--- CoreCms.Net.Core/Config/RedisCacheSetup.cs | 15 +++++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/CoreCms.Net.Caching/AutoMate/RedisCache/RedisOperationRepository.cs b/CoreCms.Net.Caching/AutoMate/RedisCache/RedisOperationRepository.cs index d70ef80..920b6e7 100644 --- a/CoreCms.Net.Caching/AutoMate/RedisCache/RedisOperationRepository.cs +++ b/CoreCms.Net.Caching/AutoMate/RedisCache/RedisOperationRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using CoreCms.Net.Configuration; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using StackExchange.Redis; @@ -14,11 +15,15 @@ namespace CoreCms.Net.Caching.AutoMate.RedisCache private readonly ConnectionMultiplexer _redis; private readonly IDatabase _database; - public RedisOperationRepository(ILogger logger, ConnectionMultiplexer redis) + public RedisOperationRepository(ILogger logger, Lazy redis) { _logger = logger; - _redis = redis; - _database = redis.GetDatabase(); + + if (AppSettingsConstVars.RedisUseCache) + { + _redis = redis.Value; + _database = _redis.GetDatabase(); + } } private IServer GetServer() diff --git a/CoreCms.Net.Core/Config/RedisCacheSetup.cs b/CoreCms.Net.Core/Config/RedisCacheSetup.cs index c362c8d..06fd5c7 100644 --- a/CoreCms.Net.Core/Config/RedisCacheSetup.cs +++ b/CoreCms.Net.Core/Config/RedisCacheSetup.cs @@ -22,16 +22,19 @@ namespace CoreCms.Net.Core.Config services.AddTransient(); // 配置启动Redis服务,虽然可能影响项目启动速度,但是不能在运行的时候报错,所以是合理的 - services.AddSingleton(sp => + services.AddSingleton>(sp => { - //获取连接字符串 - string redisConfiguration = AppSettingsConstVars.RedisConfigConnectionString; + return new Lazy(() => + { + //获取连接字符串 + string redisConfiguration = AppSettingsConstVars.RedisConfigConnectionString; - var configuration = ConfigurationOptions.Parse(redisConfiguration, true); + var configuration = ConfigurationOptions.Parse(redisConfiguration, true); - configuration.ResolveDns = true; + configuration.ResolveDns = true; - return ConnectionMultiplexer.Connect(configuration); + return ConnectionMultiplexer.Connect(configuration); + }); }); } -- Gitee