laravel 配置redis后怎样使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 配置redis后怎样使用相关的知识,希望对你有一定的参考价值。
参考技术A 在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件、秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系统压力、提高系统响应速度和负载能力。 实现队列有多种方式,Laravel也支持多种队列实现驱...Redis 连接 [缓存] 未配置 laravel 错误
【中文标题】Redis 连接 [缓存] 未配置 laravel 错误【英文标题】:Redis connection [cache] not configured error with laravel 【发布时间】:2019-04-22 19:53:42 【问题描述】:我正在尝试在 laravel 中使用 redis 进行缓存。
我已经在本地安装了 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
【问题讨论】:
【参考方案1】:你可以像这样在config/database.php
中设置redis配置
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', 'footbar'), //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
【讨论】:
【参考方案2】:在cache.php
找到这个
'redis' => [
'driver' => 'redis',
'connection' => 'cache',
],
并将其更改为:
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
【讨论】:
【参考方案3】:第 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 步:配置/cache.php
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
【讨论】:
【参考方案4】:除其他答案外,如果您使用 redis 作为队列驱动程序,请验证 queue.php
configuration 文件中的 redis 连接是否设置为“默认”。
【讨论】:
以上是关于laravel 配置redis后怎样使用的主要内容,如果未能解决你的问题,请参考以下文章