导航

如何为Drupal缓存对象指定缓存类?

Posted on 2013-10-09 14:18  eastson  阅读(270)  评论(0编辑  收藏  举报

什么意思?意思是说,假如你有这样的需求,需要将cache_page缓存到数据库,其它的都缓存到memcache,这该怎么办?

 

看看_cache_get_object()的实现你就会知道上面的问题该怎么处理了:

function _cache_get_object($bin) {
  static $cache_objects;
  if (!isset($cache_objects[$bin])) {
    $class = variable_get('cache_class_' . $bin);
    if (!isset($class)) {
      $class = variable_get('cache_default_class', 'DrupalDatabaseCache');
    }
    $cache_objects[$bin] = new $class($bin);
  }
  return $cache_objects[$bin];
}

 

具体该怎么做啊?说清楚点好吧,兄弟?
这还不清楚?settings.php配置一下不就OK啦:

$conf['cache_class_cache_page'] = 'DrupalDatabaseCache';
$conf['cache_default_class'] = 'MemCache';