2011-02-16 91 views
2

我有一个应用程序通过Web服务来访问数据库中的数据。 出于性能考虑,我将所有应用程序参数存储在缓存中,否则我会在每个页面请求上调用Web服务。 这些参数的一些示例是要显示的搜索结果的数量,或者是否显示任何信息。 参数存储在数据库中,因为它们是通过Windows管理应用程序编辑的。 所以这里出现了我的问题,因为这些参数不必过期(我将它们存储了几个小时),将它们存储在一个静态变量(如单例)中会更有效吗? 你觉得呢?性能:asp.net缓存与单身人士

回答

3

我不认为在将参数存储在HttpCacheSingleton对象中会有明显的性能差异。无论哪种方式,您需要在应用程序启动时加载参数。

使用HttpCache的优点是,它已经被构建来处理到期和刷新,我假设你会想要。如果你从来没有想刷新参数,那么我想你可以使用一个Singleton由于简单。

构建您自己的自定义类的好处是,您可以为参数获得一些静态类型,因为您从HttpCache获取的所有内容都将是object。但是,为HttpCache构建自己的包装将会返回一个强类型对象,这将是微不足道的。

+0

这些参数不必刷新,除非在夜间每天可能有一次。事实上,如果在应用程序正在使用时不刷新,它会更好。但我只是在这里谈论性能,而对我而言,问题在于缓存需要做更多的工作,而不仅仅是存储数据,比如处理过期,以及通过密钥重新获取数据。但我想知道它有多重要。那么,自从我尝试以后,我可能很快就会收到回复... – Johnny5 2011-02-17 00:25:41