我将从数据库中获取一次数据并加载到缓存中,然后查询该内存缓存。会有多个用户进行插入/更新/删除,如果发生这种情况,有没有办法重新加载缓存?
我在想我会查询数据库并检查最后更新的字段并检查计数,如果其中任何一个与我的缓存中的不同,我会将数据重新加载到缓存中。这是一个好的解决方案还是有另一种处理方式?
我将从数据库中获取一次数据并加载到缓存中,然后查询该内存缓存。会有多个用户进行插入/更新/删除,如果发生这种情况,有没有办法重新加载缓存?
我在想我会查询数据库并检查最后更新的字段并检查计数,如果其中任何一个与我的缓存中的不同,我会将数据重新加载到缓存中。这是一个好的解决方案还是有另一种处理方式?
您可以使用MemoryCache作为缓存。然后,您可以使用带有SqlChangeMonitor的 CacheItemPolicy将项目添加到缓存
编辑:如果您使用的是 .NET 3.5,您仍然可以使用SqlDependency获取数据库更改的通知,然后在收到通知时刷新缓存。