缓存理论

Jør*_*ogh 12 theory caching

是否存在统一的缓存理论?也就是说,构建缓存和/或优化它们的定理和算法的集合?

问题是故意广泛的,因为我正在寻找的结果也很广泛.最大可实现加速的公式,缓存算法的指标,类似的东西.大学级的教科书可能是理想的.

sam*_*moz 2

如果您可以假设缓存命中比缓存未命中快得多,那么您会发现随着时间的推移,即使只有缓存未命中,使用缓存仍然会与不使用缓存一样快或更快。

请参阅下面的数学:

Number of hits = NumRequests - #CacheMisses

AverageTime = ((NumRequests-#CacheMisses) * TimePerHit + #CacheMisses * TimePerMiss)/NumRequests
Run Code Online (Sandbox Code Playgroud)

如果我们假设 NumRequests 是无穷大(这是一个极限问题,不要害怕微积分),我们可以看到:

AverageTime = Infinity*TimePerHit/Infinity - #CacheMisses*TimePerHit/Infinity + #CacheMisses*TimePerMiss/Infinity
Run Code Online (Sandbox Code Playgroud)

#CacheMisses 的两项都为零,但整个方程解析为:

AverageTime = TimePerHit
Run Code Online (Sandbox Code Playgroud)

当然,这是在请求数量无穷大的情况下进行的,但是您可以看到,通过使用缓存,这将如何轻松地加速您的系统。