请教一个页面缓存的问题

缓存,可以通过各种方式来完成。对于缓存的代码工作已经完成了,但有一个方案的问题请教一下园友们。

一个网站有多个页面,多个页面有可能会展示同一个产品信息,我举个例子吧。如XX商城的首页面的某一小块,如下图

这里有一系列的笔记本信息,而点击某一项进入详细页面

 

我们把首页那一块的展示用一个方法去完成,假设这个方法名为A(),返回一个List<T>的对象,而详细页面假设有个方法B(),返回T对象。(T为笔记本实体)

我希望在这两个页面上都用上缓存去获取数据,在A方法面,先检查有没有List<T>这个对象,有则返回,无则查询,在B()方法里也是先检查有没有T这个对象,有则返回,无则查询。

缓存的方法,我是通过一些关键词,如实体ID,模块名称等去标记实体或列表的缓存。

现在我在后台修改了一个笔记本的价格。那我能根据实体的ID去清除缓存,所以在详细页面上,会显示更新后的数据。

但我没办法知道有哪些页面还会用到这个ID的缓存,正如我们的首页一样,有一个模块是展示笔记本的排行。

我清了实体的ID的缓存,详细页面没问题,但首页这个的价格没改过来,因为它取的是缓存里的东西。

这样的展示是有问题的。

这样,我如何处理这种问题?求各位大侠赐方案。

 

 

posted @ 2013-02-28 15:35  diamondiamon  阅读(275)  评论(2编辑  收藏  举报