我浏览了ATK4上的documentation,试图找到一个如何处理缓存的参考点--部分页面还是完整页面。
似乎没有关于这件事的条目。对于一个为可伸缩性而构建的框架来说,这是很奇怪的。有没有办法缓存数据库查询、页面、视图等?
发布于 2015-11-27 02:58:46
谢谢你的问题。(我是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
https://stackoverflow.com/questions/33891751
复制相似问题