缓存&在控制台应用程序策略中维护数据[C#]

时间:2018-04-09 11:42:43

标签: c# asp.net caching console-application

是否存在在控制台应用程序终止并重新启动后维护的控制台应用程序中缓存数据的策略?

例如,当我的控制台应用程序启动时,会对我的数据库进行4次调用,返回相当数量的数据。应用程序的其余部分运行并使用这些列表。当控制台应用程序在下一个计划的时间间隔再次启动时,它将不得不再次检索这四个列表。有没有办法让这些列表缓存一段时间,以减少我必须调用数据库的次数?

我目前的设置是一个Powershell脚本,它只是在我的网站上ping一个URL,显然可以缓存这4个列表并维护它们。但是我认为我需要将此功能移动到控制台应用程序中以从IIS进程中删除负载,因为我的服务器上有一些高CPU峰值并且我假设它使用此代码。

我的一个想法是为我的网站中的这四个列表提供一个API端点(这样它们可以被缓存)并从我的控制台应用程序中调用它。这是处理此问题的最佳方法,还是在控制台应用程序结束并重新启动后是否有适当的缓存数据和维护数据的方法?

1 个答案:

答案 0 :(得分:0)

您可以使用本地文件并存储值。可能与数据库或端点一起,在文件中的标记中添加一些过期日期。

本地文件访问将比访问数据库或任何远程调用快得多。从数据库或IIS端点开始的远程调用可以用于您的第一次加载时间。