Drupal Redis模块无法连接到PHP-Redis

时间:2018-12-05 10:23:14

标签: php drupal redis drupal-8 phpredis

我正在尝试在 Drupal 网站上启用 Redis ,但是当我检查模块的状态时,我不断收到以下警告消息:

  

未连接Redis客户端,此模块无用。确保这件事   您已启用或禁用了模块。

我正在使用Drupal-vm在虚拟机上运行的Drupal 8网站上工作。

我启用Redis的步骤:

  1. 编辑了 Drupal-vm config.yml

    installed_extras:

    • redis
    • php-redis

  1. 在Drupal中启用Redis模块

  1. 编辑的 settings.php
  

$ settings ['cache'] ['default'] ='cache.backend.redis';

     

$ settings ['redis.connection'] ['interface'] ='PhpRedis';

     

$ settings ['container_yamls'] [] ='modules / redis / example.services.yml';

     

$ settings ['container_yamls'] [] ='modules / redis / redis.services.yml';


我还尝试在index.php中执行以下代码,并且缓存似乎正在工作:

$redis = new Redis();
$redis->connect('127.0.0.1');
$cache = $redis->get('key');
//Cache miss
if($cache === false) {
  echo "miss";
  $cache = "test";
  $redis->set('key',$cache);
}else{
  echo "didn't miss";
}
// At this point $cache is either the retrieved cache or a fresh copy, so echo it
echo $cache;
exit();

所以看来Redis可以用了,但是由于某种原因,Drupal没有使用它。

1 个答案:

答案 0 :(得分:0)

安装Redis。可以将Redis与Web服务器配置在同一框中,也可以单独配置。要在Ubuntu上安装Redis,请运行以下命令:

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:chris-lea/redis-server

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install redis-server

配置Redis。 Redis已准备就绪,可以运行并且已配置为持久保存数据。

安装PhpRedis库。下载并安装Redis Drupal模块。您不需要启用此模块。     将您的Drupal站点配置为使用Redis而不是Drupal缓存数据库表进行缓存。在settings.php或settings.local.php中添加:

/**
 * Redis Configuration.
 */
$conf['chq_redis_cache_enabled'] = TRUE;
if (isset($conf['chq_redis_cache_enabled']) && $conf['chq_redis_cache_enabled']) {
  $settings['redis.connection']['interface'] = 'PhpRedis';
  $settings['cache']['default'] = 'cache.backend.redis';
  // Note that unlike memcached, redis persists cache items to disk so we can
  // actually store cache_class_cache_form in the default cache.
  $conf['cache_class_cache'] = 'Redis_Cache';
}