当前位置:首页 > 云服务器

Laravel中如何配置Redi缓存_Laravel使用Redi环境搭建与连接【详解】

游戏科技网2026年09月14日 21:52云服务器10
描述:Redis服务是否已启动并可被Laravel访问?需先验证Redis进程运行及网络连通性,再确认.env中CACHE_DRIVER=redis等配置正确、config/cache.php匹配,最后清理配置缓存并检查实际驱动是否为redis。Redis 服务是否已启动并可被 Laravel 访问很多“…
Redis服务是否已启动并可被Laravel访问?需先验证Redis进程运行及网络连通性,再确认.env中CACHE_DRIVER=redis等配置正确、config/cache.php匹配,最后清理配置缓存并检查实际驱动是否为redis。

Laravel中如何配置Redi缓存_Laravel使用Redi环境搭建与连接【详解】

Redis 服务是否已启动并可被 Laravel 访问

很多“连接失败”其实不是 Laravel 配置问题,而是 Redis 服务根本没跑起来,或 Laravel 所在环境(比如 Docker 容器、Homestead、云服务器)连不到 127.0.0.1:6379。先确认基础连通性:

  • 在 Laravel 项目根目录运行:

    1

    2

    php artisan tinker

    >>> Redis::ping()

    ,若报错 Connection refused,说明 Redis 进程未运行或端口被占
  • 用命令行直连测试:

    1

    redis-cli -h 127.0.0.1 -p 6379 ping

    ,返回 PONG 才算通
  • Docker 环境下,Laravel 容器不能用 127.0.0.1 访问宿主机 Redis;应改用宿主机 IP(如 172.17.0.1)或 Docker 网络别名(如 redis

如何正确配置 .env 和 cache.php

Laravel 的 Redis 缓存依赖两个地方:环境变量控制连接参数,config/cache.php 控制驱动与默认 store。常见错误是只改了 .env 却忘了 CACHE_DRIVER=redis,或误以为改了 REDIS_HOST 就自动生效。

Laravel中如何配置Redi缓存_Laravel使用Redi环境搭建与连接【详解】
word-document-organizer

智能整理Word文档,自动排版、生成目录、统一样式,支持学术/商务/极简模板。

下载
  • .env 中必须包含以下几项(按需调整值):

    1

    2

    3

    4

    5

    REDIS_HOST=127.0.0.1

    REDIS_PASSWORD=null

    REDIS_PORT=6379

    REDIS_DB=0

    CACHE_DRIVER=redis

  • config/cache.php 中的 default => redis 必须匹配 stores.redis 配置段;若使用哨兵或集群,需额外配置 options => [cluster => redis] 并改写 redis store 的 clientpredisphpredis
  • 修改 .env 后务必清缓存:

    1

    php artisan config:clear

    ,否则旧配置仍被加载

为什么 Cache::get() 返回 null,但 Redis CLI 能查到 key

这通常不是连接问题,而是 Laravel 默认给所有缓存 key 加了前缀(laravel_database_),且使用了序列化协议。直接用 redis-cli get xxx 查不到,是因为 key 名不一致,且值是 PHP 序列化后的二进制数据。

  • 查看真实 key:在 tinker 中执行

    1

    Cache::store(redis)->get(my_key)

    ,再用 redis-cli keys "*my_key*" 搜索带前缀的 key
  • 避免混淆:开发时可在 config/database.phpredis.default.prefix 设为空字符串(),但生产环境不建议
  • 如果用 phpredis 扩展,注意它默认不支持 unserialize,需在 redis store 配置中显式设置 options => [serializer => php]

如何验证 Redis 缓存是否真正生效

光看 Cache::put() 不报错不代表写入成功;要确认读写路径走的是 Redis,而不是 fallback 到 file 或 array 驱动。

  • 临时加日志:在 config/cache.phpredis store 中加入 connection => default,然后在 tinker 中运行:

    1

    2

    Cache::store(redis)->put(test_key, test_value, 60);

    Cache::store(redis)->get(test_key);

    ,同时用 redis-cli monitor 观察是否有 SETGET 命令发出
  • 检查实际使用的驱动:

    1

    Cache::getStore()->getDriverName()

    应返回 redis,而非 filearray
  • 留意 phpinfo() 中是否启用了 redisphpredis 扩展;仅安装 predis/predis Composer 包不够,某些操作(如 pipeline、Lua 脚本)仍需原生扩展支持
Redis 缓存是否生效,关键不在配了多少行,而在每一步是否真正落到 socket 连接和 Redis 协议层面。跳过连通性验证、忽略前缀和序列化、不清理 config 缓存——这三个动作最容易让配置看起来“对了”,实则完全没走 Redis。

“Laravel中如何配置Redi缓存_Laravel使用Redi环境搭建与连接【详解】” 的相关文章

5元云服务器:入门级新手首选

5元云服务器:入门级新手首选 我是一名刚毕业的大学生,对编程充满了热情,但现实总是骨感一些。刚踏入职场,我梦想着能独立开发一个网站或应用,却苦于没有足够的资源。买一台实体服务器太贵,租个虚拟空间又觉得…

6元服务器租用,高性价比VPS主机推荐

6元服务器租用,高性价比VPS主机推荐 记得去年我刚开始创业,做了一个小型网站来展示我的产品。那时,我手头紧,预算有限,却急着需要一个可靠的服务器来托管网站。作为一个普通上班族,我对技术懂得不多,但我…

2021年云服务器优惠套餐推荐

2021年云服务器优惠套餐推荐 嗨,朋友们!你是否曾经在深夜里,面对一堆代码和服务器错误,感叹说:“为什么我的项目老是卡顿?”如果是这样的话,那你可能正在寻找2021年云服务器优惠套餐的解决方案。作为…

云服务器市场增长

云服务器市场增长 大家好,作为一个每天依赖云服务器的开发者,我亲身感受到市场的飞速膨胀。想象一下,几年前我还得在办公室的老旧电脑前苦苦挣扎,处理数据时总是卡顿不堪,但现在,只需轻轻一点,就能在云端获得…

1元买走一台云服务器,这种天上掉馅饼的事存在吗?

1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个…

云服务器10元月:经济型服务价格新记录

云服务器10元/月:经济型服务价格新记录 最近,云服务器的价格被推向了一个新低,10元一个月的方案让许多人惊喜不已。这不仅仅是数字上的变化,更是科技服务普惠化的一个标志。云服务器作为一种基于云计算的虚…