如何从缓存中删除特定键的特定值

时间:2016-02-05 05:42:10

标签: c# asp.net caching

我想从特定缓存中删除特定的缓存值。

示例:

Cache.Insert("TestCacheKey", "111", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High,null); 
Cache.Insert("TestCacheKey", "222", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, null);
Cache.Insert("TestCacheKey", "333", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, null);

因此,我在与密钥关联的缓存中添加了一些数据,即TestCacheKey,如上所示。现在,我想删除一个特定的值,即" 111"从该密钥开始,即TestCacheKey。删除该特定值后,当我检索该缓存密钥(TestCacheKey)时,我应该只获取剩余的两个记录值" 222" &安培; " 333"与该密钥相关联。

那么,如何实现从缓存中删除特定值。

1 个答案:

答案 0 :(得分:1)

Cache.Insert方法的第一个参数是Key。在您的代码中,您的密钥似乎是相同的,Cache对象的值可以通过密钥访问。 如果我没有错,那么修改你的代码

Cache.Insert("111","TestCacheKey",  null,DateTime.Now.AddSeconds(60),Cache.NoSlidingExpiration,CacheItemPriority.High,null); 
Cache.Insert("222","TestCacheKey" , null,DateTime.Now.AddSeconds(60),Cache.NoSlidingExpiration, CacheItemPriority.High, null);
Cache.Insert("333","TestCacheKey",  null, DateTime.Now.AddSeconds(60),Cache.NoSlidingExpiration, CacheItemPriority.High, null);

删除

Cache.remove("111")