Gui*_*tos 4 c# performance singleton windows-services file-processing
我正在尝试提高用 C# 和 .NET 2.0 开发的、处理大量文件的 Windows 服务的性能。我想每秒处理更多文件。
在其过程中,对于每个文件,该服务都会执行数据库查询以检索系统的某些参数。
这些参数每年都会变化,我认为如果将这些参数作为单例加载并定期刷新该单例,我会获得一些性能。我不会对每个正在处理的文件进行数据库查询,而是从内存中获取参数。
完成该场景:我使用 Windows Server 2008 R2 64 位,SQL Server 2008 是数据库,C# 和 .NET 2.0,如前所述。
我的方法正确吗?你会怎么办?
谢谢!
这些参数每年都会改变
是的,请将它们缓存在内存中。特别是当它们很大或很复杂时。
您应该注意每年在正确的时间使它们失效一次,具体取决于其准确性。
简单地将它们缓存一个小时甚至几分钟可能是一个很好的折衷方案。