我有一个类似电子商务的站点要构建,考虑到我们必须处理的请求的频率和数量,最好从一开始就将缓存合并到我们的代码库中。我阅读了 .net 4 的 system.runtime.cache 和 system.web.cache。这些类在应用程序级别提供缓存。也有可能使用 outputcacheprovider 接口(interface)实现我们自己的自定义提供程序。
现在我在想最好在网络服务器本身有一个小型数据库服务器,它会缓存经常进行的 sql 查询的结果,这可能是网页的服务器,并且会节省我到实际数据库服务器的往返行程和数据库访问。
我浏览了很多博客,但没有找到与此直接相关的内容。 现在我有几个问题: 1. 在 webserver 上有一个小的 dbserver 来处理频繁的查询是否好? 2. 是否可以使用 outputcacheprovider 实现这种缓存?
最佳答案
除了给您的网络服务器增加负载外,它不会做太多事情。唯一可能有所作为的情况是,如果您的网络在网络服务器和数据库服务器之间存在足够的滞后,那么值得这样做。
缓存的要点是您将数据以经过处理的形式保存在快速介质(即内存)中。
您最好查看 appfabric 或 memcache 之类的东西来提供缓存而不是数据库。
此外,请注意找出缓存和输出缓存之间的区别。缓存将数据保存在内存中,供您的应用程序根据需要使用。 OutputCaching 正在存储为页面生成的输出,这意味着 future 的请求将获得缓存的版本并且您不必每次都生成页面。
关于.net - 使用 .net 缓存提供程序类在数据库中的 Web 服务器上缓存数据库查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7596840/