开源软件的书籍架构'他说,Web应用程序中最常见的全局缓存类型负责获取数据本身,以防它丢失,如此修复程序所示。这看起来与我迄今遇到的情况有所不同。我遇到的大多数应用程序都使应用程序服务器负责从数据库中获取数据并更新服务器。起初,我认为这本书可能会讨论像Varnish这样的缓存代理,但它们会涵盖下一节中的内容,所以似乎并非如此。
哪些缓存系统在未命中时实际获取数据,以及他们如何知道如何与数据库交互?
答案 0 :(得分:3)
缓存解决方案提供了直读/写入功能,使用户能够配置直读/后写提供程序,实现某些接口并将其与缓存服务器一起部署。这些提供程序包含有关缓存服务器如何与数据库交互以在数据库中加载/保存数据的逻辑。
在缓存获取操作中,如果缓存服务器中不存在数据,则缓存使用配置的提供程序从数据库加载数据,从而避免缓存未命中。
这样,客户端应用程序只将缓存作为数据源处理,缓存本身负责与数据库的交互。您可以在Iqbal Khan的this article中阅读更多详细信息。