请教一个页面缓存的问题
缓存,可以通过各种方式来完成。对于缓存的代码工作已经完成了,但有一个方案的问题请教一下园友们。
一个网站有多个页面,多个页面有可能会展示同一个产品信息,我举个例子吧。如XX商城的首页面的某一小块,如下图
这里有一系列的笔记本信息,而点击某一项进入详细页面
我们把首页那一块的展示用一个方法去完成,假设这个方法名为A(),返回一个List<T>的对象,而详细页面假设有个方法B(),返回T对象。(T为笔记本实体)
我希望在这两个页面上都用上缓存去获取数据,在A方法面,先检查有没有List<T>这个对象,有则返回,无则查询,在B()方法里也是先检查有没有T这个对象,有则返回,无则查询。
缓存的方法,我是通过一些关键词,如实体ID,模块名称等去标记实体或列表的缓存。
现在我在后台修改了一个笔记本的价格。那我能根据实体的ID去清除缓存,所以在详细页面上,会显示更新后的数据。
但我没办法知道有哪些页面还会用到这个ID的缓存,正如我们的首页一样,有一个模块是展示笔记本的排行。
我清了实体的ID的缓存,详细页面没问题,但首页这个的价格没改过来,因为它取的是缓存里的东西。
这样的展示是有问题的。
这样,我如何处理这种问题?求各位大侠赐方案。