Microsoft Enterprise Library Cache Key通配符搜索

时间:2011-10-10 07:13:38

标签: caching search enterprise-library

我使用企业库缓存应用程序块。我们要求的细节要求我将动态密钥添加到依赖于不同参数的缓存中。键还有一个前缀,可以轻松地对它们进行分组。例如:

AccountsStaffMark1234
AccountsStaffPeter0123
AccountsStaffHenry1111
ScienceStaffRuth2222
EnglishStaffSimon3333

我需要能够搜索所有AccountsStaff缓存条目,并在有新数据时将其删除。 我无法使用Flush()关键字,因为它会清除所有数据,包括ScienceEnglish。缓存的数据存储在缓存数据库中,我可以在CacheData表上进行通配符查询以过滤AccountsStaff。沿着这些路线

  1. 有没有办法在Enterprise Library Framework中搜索密钥?
  2. 如果没有,是否可以根据我的要求扩展缓存库,以及如何扩展?

1 个答案:

答案 0 :(得分:2)

好的,想出了一条出路。 Cache对象使用存储在其中的所有密钥公开Hashtable。我将围绕密钥构建自定义逻辑以删除特定实例。 因此,在上述情况下,搜索以AccountsStaff开头的所有密钥并明确删除它们。