tp5 配置集群需要修改一下redis.php文件
该文件位于thinkphp/library/think/cache/driver/redis.php
第一步:修改位置为构造函数,内容如下:
/**
* 构造函数
* @param array $options 缓存参数
* @access public
*/
public function __construct($options = [])
{
if (!extension_loaded('redis')) {
throw new \BadFunctionCallException('not support: redis');
}
if (!empty($options)) {
$this->options = array_merge($this->options, $options);
}
if ($options['cluster_list']) {
$this->handler = new \RedisCluster(null, $options['cluster_list']);
} else {
$this->handler = new \Redis;
if ($this->options['persistent']) {
$this->handler->pconnect($this->options['host'], $this->options['port'], $this->options['timeout'], 'persistent_id_' . $this->options['select']);
} else {
$this->handler->connect($this->options['host'], $this->options['port'], $this->options['timeout']);
}
if ('' != $this->options['password']) {
$this->handler->auth($this->options['password']);
}
}
if (0 != $this->options['select']) {
$this->handler->select($this->options['select']);
}
}
第二步:修改配置文件config.php
,redis缓存一栏内容如下:
// redis缓存
'redis' => [
'type' => 'redis',
'host' => '127.0.0.1',
'port' => 7000,//你redis的端口号,可以在配置文件设置其他的
'password' => '', //这里是你redis配置的密码,如果没有则留空
'timeout' => 10, //超时时间
'cluster_list'=>[
'127.0.0.1:7001',
'127.0.0.1:7002',
'127.0.0.1:7003',
'127.0.0.1:7004',
]
],
laravel 配置redis集群 修改database.php
,文件位于
'redis' => [
'client' => 'predis',
'options' => [
'cluster' => 'redis',
],
//'cluster' => true,
'clusters' => [
//默认redis连接
'default' => [
[
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 7000),
'database' => 0,
],
[
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 7001),
'database' => 0,
],
[
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 7002),
'database' => 0,
],
[
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 7003),
'database' => 0,
],
[
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 7004),
'database' => 0,
],
[
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 7005),
'database' => 0,
],
],
],
],