例如:cachekey="ShowTopic" + id.ToString() + page.ToString(); 
在不知道page.ToString()是多少的情况下,有可能是第一页,第二页...
怎样才能清除所有缓存呢??

解决方案 »

  1.   

    建立缓存:string cachekey="ShowTopic" + id.ToString() + page.ToString();
    HttpRuntime.Cache.Insert(cachekey,dataAccess.HotArticle(),null,DateTime.Now.AddHours(1),TimeSpan.Zero);清除缓存:HttpRuntime.Cache.Remove(cachekey);就这样!!!就是cachekey 后面的page.ToString()不确定的情况下!我想把这些缓存都给清除!在举个例子:像一个论坛的 帖子列表,就建了上面类似的缓存,这个帖子列表肯定要分页的嘛,所以就有了page.ToString()来保存了每页的缓存,现在假如有人发贴或者修改帖子的时候,我想把缓存清除了,这样才能保证帖子是新的数据啊!!要不,人家发了新帖,你还让缓存过期才看到新数据吗?
      

  2.   

    假如有人法帖或者修改帖子,那么你可以得到确定的cachekey,直接清就行了,你还是没有说清楚什么时候才是不确定的。不确定的东西,只要是软件的,总归是确定的。不确定,是因为你不认真收集他们。
      

  3.   

    page 可能为1、2、3、4、5、6、7、8、9 ......
    论坛的帖子越多就分得越多页,就这样!!
    不是说要写个循环来清除缓存吧?
      

  4.   

    我要清除这个 cachekey 的全部缓存,而不是特定的一个 cachekey
    cachekey="ShowTopic11"
    cachekey="ShowTopic12"
    cachekey="ShowTopic13"
    .
    .
    .