欢迎光临南昌笑劳网络科技有限公司,我们是一家专注中小型企业营销推广服务的公司!

咨询热线:400 76543 55
南昌笑劳网络科技有限公司
最新资讯News
南昌笑劳网络科技有限公司

Laravel怎么配置Redis缓存_Laravel集成Redis驱动与数据存取操作【指南】

作者:穿越時空 | 点击: | 来源:穿越時空
0701
2026
Laravel使用Redis缓存需确保驱动启用、配置正确且服务可达,否则Cache::get()静默返回null;须配置config/cache.php的default为redis,并在config/database.php中正确设置REDIS_HOST、PORT、PASSWORD;推荐显式调用Cache::store(‘redis’)操作,TTL单位为秒;连接问题可通过redis-cli直接验证。...
Laravel使用Redis缓存需确保驱动启用、配置正确且服务可达,否则Cache::get()静默返回null;须配置config/cache.php的default为redis,并在config/database.php中正确设置REDIS_HOST、PORT、PASSWORD;推荐显式调用Cache::store('redis')操作,TTL单位为秒;连接问题可通过redis-cli直接验证。

Laravel 默认就支持 Redis 缓存,但必须确认驱动已启用、连接配置正确、Redis 服务可达——否则 Cache::get() 会静默返回 null,而不是报错。

确认 Laravel 已启用 redis 驱动并配置了连接

不改 config/cache.php 里的 'default' => 'redis',Laravel 就不会用 Redis;光配了 default 还不够,还得检查 config/database.php 中的 redis 配置块是否指向真实可用的实例。

  • REDIS_HOSTREDIS_PORTREDIS_PASSWORD(如有)需与你的 Redis 服务一致,本地 Docker 常见为 redis(容器名)或 127.0.0.1
  • 若用 Redis 6+ 且启用了 ACL,REDIS_PASSWORD 实际是 ACL 用户密码,不是旧版的 requirepass
  • 运行
    php artisan tinker --execute="Cache::store('redis')->put('test', 'ok', 10); var_dump(Cache::store('redis')->get('test'));"
    可快速验证连通性与写入能力

使用 Cache facade 存取数据时要注意 store 和 ttl 的显式控制

Cache::get() 默认走 default store,但如果你在 config/cache.php 里把 default 设为 file,那 Redis 就根本不会被调用。真正用 Redis 必须明确指定 store 或改 default。

  • 推荐显式调用 Cache::store('redis')->get('key'),避免依赖全局 default 配置
  • ttl 参数单位是「秒」,不是分钟——Cache::put('x', 'y', 5) 表示 5 秒后过期
  • 若值是数组或对象,Laravel 会自动序列化;但 Redis 本身不校验类型,get() 返回的永远是 PHP 原生类型,无需手动 unserialize()

遇到 “Connection refused” 或 “Failed to AUTH” 错误怎么定位

这类错误通常不是 Laravel 代码问题,而是环境层未打通。Laravel 抛出的异常信息很直接,关键看 message 字段里带的底层提示。

  • Connection refused:Redis 进程没起来,或 REDIS_HOST 指向了不可达地址(如 Laravel 在 Docker 容器内却填了 127.0.0.1
  • Failed to AUTH:密码错误,或 Redis 配置里 requirepassACL 混用冲突(Redis 6+ 推荐只用 ACL)
  • 执行
    redis-cli -h $REDIS_HOST -p $REDIS_PORT -a "$REDIS_PASSWORD" ping
    能绕过 Laravel 直接验证连接和认证

Redis 缓存失效逻辑完全由 TTL 和键删除行为决定,Laravel 不做额外干预;但要注意,Cache::forget() 是原子删除,而直接用 Redis::del() 删除键会导致 Laravel 缓存事件(如 CacheHit)不触发——如果项目里监听了这些事件,就得统一用 Cache facade。


# php  # 可达  # 就不  # 如有  # 你在  # 设为  # 并在  # 这类  # 还得  # 不做  # database  # default  # 事件  # word  # laravel  # redis  # docker  # cad  # ai  # red  # NULL  # 对象  # 就得 

我要咨询做网站
成功案例
建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 400 76543 55
    sale#ncxiaolao.cn
Hi,Are you ready?
准备好开始了吗?
那就与我们取得联系吧

咨询送礼现在提交,将获得笑劳科技策划专家免费为您制作
价值5880元《全网营销方案+优化视频教程》一份!
下单送礼感恩七周年,新老用户下单即送创业型空间+域名等大礼
24小时免费咨询热线400 76543 55
合作意向表
您需要的服务
您最关注的地方
预算

直接咨询