.netcore里使用StackExchange.Redis TimeOut 情況解決方法


在用StackExchange.Redis這個組件時候,時不時會出現異常TimeOut解決方法如下,

解決方法: 在Program的Main入口方法里添加一句話:

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

 

比如以下代碼:  

 
 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 

數值200,可以根據實際並發量縮小或變大。

StackExchange.Redis問題解決的其他解決方法:https://www.jianshu.com/p/20b1db2154a2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM