You are here

Drupal专业开发指南 第15章 静态变量缓存

g089h515r806 的头像
Submitted by g089h515r806 on 星期六, 2009-08-22 15:02

许多Drupal函数使用一个静态变量来缓存数据。在一个HTTP请求的生命周期内,在第2次调用它时,将会立即返回数据。下面是一个来自于节点模块的例子:

 
function node_get_types($op = 'types', $node = NULL, $reset = FALSE) {
    static $_node_types, $_node_names;
 
    if ($reset || !isset($_node_types)) {
        list($_node_types, $_node_names) = _node_types_build();
    }
    ...
}
    缓存总是有代价的。静态变量缓存的代价就是内存。幸运的是,与数据库CPU循环相比,内存一般还是很富裕的。

老葛的Drupal培训班 Think in Drupal

Drupal版本: