使用docker配置, 可以参考我这篇文章, docker配置mysql主从复制。
推荐使用docker安装redis:
拉取redis镜像: docker pull redis
创建redis数据保存目录: mkdir -p ~/docker/redis/data && cd ~/docker/redis
运行容器,并将本地的6379端口映射到容器内部的6379端口。docker run -p 6379:6379 -v $PWD/data:/data -d redis redis-server --appendonly yes
使用pecl安装php的redis扩展
sudo pecl install redis
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 1,
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => ['127.0.0.1', '127.0.0.1'], // 该写法是tp5.1.25+以上支持的写法。
// 数据库名
'database' => 'DregAdmin',
// 用户名
'username' => ['root', 'root'],
// 密码
'password' => ['123456', '123456'],
// 端口
'hostport' => [3307, 3308],
// 数据库读写是否分离 主从式有效
'rw_separate' => true,
// 读写分离后 主服务器数量
'master_num' => 1,
默认缓存配置为文件类型, 使用时不指定redis,则使用文件缓存。
// 驱动方式
'type' => 'complex',
'default' => [
// 驱动方式
'type' => 'file',
// 缓存保存目录
'path' => '../runtime/default',
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
],
'redis' => [
'type' => 'redis',
'host' => '127.0.0.1'
]
mysql读写分离开启后是自动调用的,除非在master插入数据后,防止从库还未同步到数据,导致查询失效的时候,可以手动指定查询master数据库。
redis缓存使用:
set('user', '林同学');
return '设置Redis缓存';
}
public function hello()
{
$user = Cache::store('redis')->get('user');
return 'Hello ' . $user;
}
public function test()
{
Cache::set('key', 'value');
return '设置默认缓存';
}
public function get()
{
$val = Cache::get('key');
return $val;
}
}
个人博客:http://blog.fenlanli.com