我有一些页面(或者#34;节点&#34;在Drupal用语中),它们具有PHP函数的内容,该函数调用外部库来呈现HAML模板。这些节点(意味着实际的<?php ?>
标签和调用库的函数)存储在数据库中,并在请求页面时进行某种eval
样式调用。
如果我正在使用APC,那么存储在数据库中的函数的操作码是否仍会缓存?或者它会经历一个新的循环,请求库,运行函数,生成输出,并在每次页面被命中时将其存储为echo
?
答案 0 :(得分:1)
APC不会缓存优化的评估代码,至少现在还没有。要利用它,您应该将其转储到磁盘。如果代码中没有敏感数据,您可以使用临时文件并仅在APC中存储用于检索它的文件名/密钥。然后,只有在更新数据库中生成代码所需的信息时才应更新文件。