用过ASP.NET Forums 你会发现,他把每页帖子列表都缓存在Cache中20秒。如果在这个时间内,我删除了一些帖子,那么,删除的内容不会马上消失。除非删除后就把Cache清除。但Cache好像没找到这个方法啊。
因为他没有keys集合。不知道这个问题他是怎么解决的。希望知道的帮忙解释一下,或给个思路。

解决方案 »

  1.   

    具体的实现不是很清楚,但是Cache对象可以设置失效条件的。比如时间或者一个特定的值,你可以通过将Cache项与一个Key关联来实现: Cache[“Fname”] = “Tim”;
     String[] dependencyKey = newString[1];
     dependencyKey[0] = “Fname”;
     CacheDependency cDepend = new CacheDependency(null, dependencyKey);
     Cache.Insert(“LName”, “Landgrave”, cDepend);
      

  2.   

    Cache.Remove去清空,具体的清除机制就看你的实际的情况了.
    比如说帖子的删除,修改等内容变化的操作,就应当Remove Cache了.
    Cache的生存周期,感觉上是10分(这个时间是可以设置的)没有任何人访问自动清除.否则所有用户公用,这个和Session,Cookie是截然不同的.正是利用这一点,使用Cache可以对性能上做一个提升.
    但是使用的合理性才是最要的.
      

  3.   

    TechnoFantasy(冰儿马甲www.applevb.com) :) 谢谢,听你一说,突然茅塞顿开,嘿嘿。