我已经浏览了ATK4上的documentation,试图找到如何处理缓存的参考点 - 部分或整页。
似乎没有关于此事的条目。来自为可伸缩性而构建的框架的奇怪之处。有没有办法缓存数据库查询,页面,视图等?
答案 0 :(得分:1)
感谢您的提问。 (我是ATK4的作者)。
在我看来,可伸缩性和缓存是两个不同的主题,可以单独解决。框架通过优化查询和最小化每个请求的负载来实现可扩展性,并设计可以使用多个节点水平无缝扩展应用程序的方法。还有一个选项可以在反向代理到达Web服务器之前将其添加到缓存页面。
Agile Toolkit支持两种类型的缓存:
当你阅读关于对象渲染树的文档时 - 框架初始化和递归渲染,所以如果你添加"缓存"支持页面级别,您将能够从缓存中截取并检索它的内容。您还可以缓存视图。
这是一个可用于为您实现缓存的控制器: https://github.com/agile55/viewcache
有时您会想要缓存模型数据,因此您可以快速从更快的源中获取数据,而不是从慢速数据库中检索数据。 Agile Toolkit支持多个模型数据源,首先查询缓存,如果不包含数据则刷新缓存。在这里,您可以找到更多信息或提出进一步的问题:
http://book.agiletoolkit.org/model/core.html#using-caching
http://forum.agiletoolkit.org/t/is-setcache-implemented/62
鉴于ATK4的面向对象特性,您可能会想出一种新的缓存数据的方法。如果您有任何有趣的想法,我们的c