我正在尝试使用Redis在laravel中进行缓存。
我在本地安装了Redis,并且我知道它正在运行,因为我能够运行地平线队列和工作程序。
我做的时候也得到了回应
redis-cli Ping
但是当我尝试这段代码
$user = Cache::get('User:' .$Id , function ($Id) {
return User::where('id', '=', $Id)->firstOrFail();
});
我得到了错误
Redis connection [cache] not configured.
我已将.env更改为具有以下条目
CACHE_DRIVER=redis
答案 0 :(得分:0)
您可以像这样在config/database.php
中设置redis配置
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', 'jignesh'), //if password otherwise set null
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
.env文件中的其他设置
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
然后运行artisan命令
php artisan config:cache
php artisan config:clear
答案 1 :(得分:0)
在cache.php
'redis' => [
'driver' => 'redis',
'connection' => 'cache',
],
并将其更改为:
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
答案 2 :(得分:0)
步骤1:配置:config / database.php在数组下面添加
'redis' => array(
'cluster' => false,
'default' => array(
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env(‘REDIS_DATABASE',0),
),
),
第2步:配置:.env文件
CACHE_DRIVER=redis
REDIS_DATABASE=0
第3步:Config / cache.php
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],