Entity Framework 为个别查询加上清除缓存

Entity Framework Plus clear cache for individual queries

每当我需要从 SQL 数据库中检索数据时,我都会使用 FromCache() 方法。由于它是根据 userID 获取数据,因此将在单个方法中执行许多独特的查询。与 userID 关联的数据将通过一个单独的进程进行更新,该进程还将触发控制检索的方法中的一个事件。当更新特定用户的数据时,我想使该用户的缓存过期,以便该用户 ID 的下一个查询将获得最新数据。

我看到 EF plus 有 ExpireTag 的选项。为每个用户 ID 创建一个标签然后使用它使缓存过期是否可行?

Would it be feasible to create a single tag for each userID and then use that to expire the cache?

是的,可以像使用缓存键一样使用标签。

最好的可能是使用 2 个标签:

  • 用户
  • [UniqueUserId]

Users 标签将使与 "users"

相关的所有缓存失效

[UniqueUserId] 标签将使与该特定用户相关的所有缓存失效