在我的网站中,由于存储过程中有许多连接返回结果,我想缓存每个页面的结果,只有在发生更改时才删除并重新添加。
现在问题是,在这种情况下,我将需要从缓存中找到每个页面大约200000个缓存项目。我想知道多个项目的缓存性能如何?
我知道,我应该将它与运行存储过程的速度进行比较,但我想知道的是缓存速度而不是它的相对性以及与从数据库获取结果的比较。换句话说,我想知道增加缓存项目的数量会对性能产生多大影响?
答案 0 :(得分:1)
缓存查找是O(1)。因此,只要您真正适合内存中的所有必要数据,找到项目的速度就不应该改变。
确保你有足够的内存,使用x64机器/版本,并确实运行你自己的性能测试,以确认你的缓存适用于你的情况。
如果您想仔细检查 - 来源http://referencesource.microsoft.com/#System.Runtime.Caching/System/Caching/MemoryCache.cs