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]
标签将使与该特定用户相关的所有缓存失效
每当我需要从 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]
标签将使与该特定用户相关的所有缓存失效