环境
laravel8、predis
在database.php文件中配置
先上代码:
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
],
'sentinel' => [
['host' => '127.0.0.1', 'port' => 26379, 'password' => 456],
// ['host' => '127.0.0.1', 'port' => 26380],
// ['host' => '127.0.0.1', 'port' => 26381],
'options' => [
'replication' => 'sentinel',
'service' => 'mymaster', //sentinel配置的 mymaster
'parameters' => [
'password' => 123,
'database' => 0,
],
],
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
这里 host 里面的password 是 sentinel.config 里面配置的密码: requirepass 456
parameters 里面的password 是 redis.config 里面配置的密码: requirepass 123
没用设置密码的 不传或者 传 null
使用
$redis = Redis::connection('sentinel');
var_dump($redis->get('aa'); // 使用的是 sentinel 模式 获取 数据
var_dump( Redis::get('bb')); // 使用 默认的(default) 连接 获取数据