.netcore里使用StackExchange.Redis TimeOut 状况解决方法

在用StackExchange.Redis这个组件时候,时不时会出现异常TimeOut解决方法以下,api

解决方法: 在Program的Main入口方法里添加一句话:并发

 System.Threading.ThreadPool.SetMinThreads(200, 200);

 

好比如下代码:  ui

 
 public class Program
    {
        public static void Main(string[] args)
        {
            System.Threading.ThreadPool.SetMinThreads(200, 200);
            // NLogBuilder.ConfigureNLog("Config/nlog.config");
            //  NLogBuilder.ConfigureNLog("Config/nlog.config").GetCurrentClassLogger();
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args). 
            ConfigureLogging((context, loggingbuilder) =>
            {
                //该方法须要引入Microsoft.Extensions.Logging名称空间

                loggingbuilder.AddFilter("System", LogLevel.Warning); //过滤掉系统默认的一些日志
                loggingbuilder.AddFilter("Microsoft", LogLevel.Warning);//过滤掉系统默认的一些日志
 
                //var path = Directory.GetCurrentDirectory() + "\\log4net.config"; 
                //不带参数:表示log4net.config的配置文件就在应用程序根目录下,也能够指定配置文件的路径
                loggingbuilder.AddLog4Net("Config/log4net.config");
            })
              .UseStartup<Startup>();
    }

 

SetMinThreads 微软官方的详情:https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.threadpool.setminthreads?view=netcore-2.2 spa

数值200,能够根据实际并发量缩小或变大。日志

StackExchange.Redis问题解决的其余解决方法:https://www.jianshu.com/p/20b1db2154a2code

相关文章
相关标签/搜索