我有一个网站需要在其主页上显示“随机”选项。这个列表生成起来有点贵,所以我想研究一下缓存,这个缓存仍然允许列表对于未经训练的眼睛仍然显得有些随意。高速缓存“随机”数据的一般策略
我的想法是在一个给定的范围内使用一个随机选择的数字(假设为10,作为参数)作为缓存键的一部分。伪代码看起来像这样:
randomCacheVariation = (random number between 1 and 10)
cacheKey = "myRandomList_" + randomCacheVariation
If cache.contains(cacheKey) Then
return existing random list
Else
generate new radom list
add to cache
return list
End If
有没有人有更好的建议,应该如何实现这样的东西?
更新:
只是要清楚,我不是在寻找的缓存服务的实现,但如何通过存储我的名单变化的一些有限数量的缓存伪随机数据的策略缓存。
这是一个很好的建议......选择一个大的初始抽样,并将它缓存,然后选择较小在每次请求时都会大声喧哗。 – DanP 2011-04-20 16:25:05
@DanP:如果沿着这条路线走下去,那么当您生成随机数据时,它不会减慢每个单独的页面请求。 *但是*,我会确保AppDomain在闲置时不会被卸载,否则下一个请求可能需要很长时间:http://stackoverflow.com/questions/838318/how-to-keep-asp-net -assemblies功能于AppDomain的活 – 2011-04-20 19:43:19