许多请求缓存效率高

本文关键字:效率高 缓存 请求 许多 | 更新日期: 2023-09-27 18:08:53

当有人访问我的网页时,我有大约100个请求c#缓存。你认为我从数据库中获取信息会更好吗?因为如果我调用数据库,它只是到数据库的一次往返。但是如果我试图从缓存中调用这些信息,我必须多次往返于缓存

许多请求缓存效率高

在内存中查找几乎总是比跳网查询数据库快。

您还应该考虑的不仅仅是单个请求的时间。即使单个请求在内存中查找100次的时间更长(除非您的数据结构效率低下,否则不会),也要考虑瓶颈。数据库总是成为可以向外扩展的系统中的唯一瓶颈。通过在内存中缓存,您可以让系统呼吸,并允许它通过添加更多的前端服务器来扩展。

但是缓存也不是没有自己的问题。生命周期总是一个挑战——特别是如果你需要数据在改变后快速更新。

缓存也是bug的一个来源。如果你需要更新数据,而你的应用又需要扩展,那么你可能会在农场中反复出现,并得到不一致的答案。这可以通过集群亲和性最小化,或者如果数据不经常更改,或者更新数据并不重要,这甚至可能不是一个问题。

存在内存缓存是因为对内存的请求几乎总是比网络请求快。一旦将数据放入缓存中,重新查询数据库的唯一原因是您认为缓存中的数据已经过期。

也就是说,如果你查询你的缓存很多次,我不知道这怎么能减少到一个单一的数据库查询(除非你从你的缓存中获取数据的行或字段)

无论如何,多次访问内存仍然要比从数据库刷新快得多。