我正在尝试在 Drupal 网站上启用 Redis ,但是当我检查模块的状态时,我不断收到以下警告消息:
未连接Redis客户端,此模块无用。确保这件事 您已启用或禁用了模块。
我正在使用Drupal-vm在虚拟机上运行的Drupal 8网站上工作。
我启用Redis的步骤:
编辑了 Drupal-vm config.yml
installed_extras:
$ 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没有使用它。
答案 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';
}