document.writeln('');
当前位置:首页 > 云服务器

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

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

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 就自动生效。

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 的 client 为 predis 或 phpredis
  • 修改 .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.php 的 redis.default.prefix 设为空字符串(),但生产环境不建议
  • 如果用 phpredis 扩展,注意它默认不支持 unserialize,需在 redis store 配置中显式设置 options => [serializer => php]

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

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

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

    1

    2

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

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

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

    1

    Cache::getStore()->getDriverName()

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

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

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

2021年云服务器优惠套餐推荐 嗨,朋友们!你是否曾经在深夜里,面对一堆代码和服务器错误,感叹说:“为什么我的项目老是卡顿?”如果是这样的话,那你可能正在寻找2021年云服务器优惠套餐的解决方案。作为一名经常和这些技术打交道的爱好者,我深知选择一个合适的云服务器,就像挑选一件得体的衣服——它不仅要合身(性能匹配需求),还得实惠(价格亲民),才能让你在数字化浪潮中游刃有余。2021年,云计算市场迎来…

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

1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个刚毕业的大学生,我平时靠打工赚钱,偶尔做点小网站赚点外快。云服务器听起来很酷,能让我轻松托管项目,但1元?这简直像天上掉馅饼一样,太不可思议了。 我立刻分享了这个消息给我的朋友小李。他是个技术宅,平时…

实惠低价云服务器f2g评测

实惠低价云服务器f2g评测 实惠低价云服务器F2G评测 随着云计算技术的快速发展,云服务器已经成为企业和个人开发者的重要选择。相比传统的物理服务器,云服务器在灵活性、可扩展性和成本上具有显著优势。然而,对于一些初创企业或个人开发者来说,选择一款性价比高、价格实惠的云服务器尤为重要。本文将对目前市场上较为热门的“实惠低价云服务器F2G”进行深入评测,从性能、稳定性、适用场景等多个维度进行分析,帮助用…

云服务器低价惊天内幕,真的不坑吗?

云服务器低价惊天内幕,真的不坑吗? 你有没有过那种经历?正愁着要搭建一个网站或测试一个应用,偶然在某个广告平台上看到“云服务器低价促销,只需几十块钱一个月”这样的字样,瞬间心动,觉得这简直是天降福利。我也是,去年就想试试运气,结果呢?刚开始确实便宜得让人直呼惊喜,但用着用着,问题就来了。这让我开始怀疑,云服务器的低价,到底是不是真的不坑? 首先,低价云服务器的诱惑力,谁都能理解。想想看,作为一个小…

2021年最全云服务器优惠大揭秘

2021年最全云服务器优惠大揭秘 嗨,大家好,我是小明,一个普通的小白领,最近我打算自己建个网站分享旅行照片和心得。刚开始,我觉得这挺简单的,但一查资料,就陷入了云服务器的世界。哈哈,别笑,我刚开始也觉得云服务器是高科技的东西,搞得我一头雾水。不过,2021年的时候,各大云服务商推出了不少优惠套餐,让我这个新手觉得机会来了。你想知道2021年云服务器优惠套餐有哪些吗?让我来和你分享我的经历。 回想…

(html)如何发布_发布HTML文件到网络的方法【网络】

(html)如何发布_发布HTML文件到网络的方法【网络】

可通过四种方式将HTML文件部署为公开网站:一、GitHub Pages免费托管;二、云存储服务(如阿里云OSS)启用静态网站托管;三、VPS配置Nginx/Apache服务器;四、Netlify/Vercel无服务器快速部署。 如果您已创建好一个 HTML 文件,但希望他人能通过互联网访问它,则需要将该文件部署到可公开访问的服务器上。以下是实现此目标的多种方法: 一、使用 GitHub Pa…