我在网站上显示的内容不会经常变化。因此,我正在缓存HttpRuntime.Cache中的数据,据我所知,该数据可以缓存网站所有用户的数据。
但是,我还想提供强制刷新的功能,以防缓存数据变得陈旧。由于数据是为所有用户缓存的,这意味着如果一些人一次使用该网站,它将影响每个人。这是一种常见的模式吗?对于要显示的站点来说,这似乎是一种奇怪的行为,特别是因为一个用户可以通过不断强制缓存刷新来减慢所有人的速度。进行客户端缓存仍然没有意义,因为所有用户的数据都是相同的。
答案 0 :(得分:0)
我认为允许普通用户具有调用“清除缓存”操作的能力是不够的。您的可缓存数据应该具有某种依赖关系。请参阅:Cache Expiration Policies
答案 1 :(得分:0)
缓存所有用户可见的数据非常常见,这是一种很好的做法。但是,为用户提供刷新缓存的能力非常罕见。更好的路径是在保存数据时使缓存失效,这将改变缓存页面的内容。
智能缓存失效意味着您的用户始终可以看到最新鲜的数据,但他们也可以获得缓存工作带来的好处。理想情况下,您只会使受更改影响的页面过期 - 而不是整个缓存。