laragon中laravel正确使用redis需同时满足redis服务启动、php redis扩展启用、laravel配置固化三条件,否则cache::get()静默返回null;须验证redis-cli ping、php -m | findstr redis、.env设cache_driver=redis并执行config:clear与config:cache。

Laragon 是 Windows 下轻量高效的本地开发环境,集成 Nginx、MySQL、PHP 和 Redis 等服务。在 Laragon 中让 Laravel 正确使用 Redis,关键不是“能不能”,而是Redis 服务是否真正启用、PHP 扩展是否加载、Laravel 配置是否指向它——三者缺一不可。
下面分四步讲清楚,每步都直击 Laragon 场景下的典型卡点:
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
确认 Laragon 的 Redis 服务已启动
Laragon 自带 Redis(默认端口 6379),但**默认不自动开启**。 打开 Laragon 主界面 → 右键菜单 → Services → 勾选 ✅ Redis → 点击 Start。 验证是否跑起来: - 打开终端,运行 `redis-cli ping`,返回 `PONG` 即通; - 若报错 `Could not connect to Redis at 127.0.0.1:6379`,说明服务没启,或端口被占(检查 Laragon 设置里 Redis 端口是否被改过)。安装并启用 PHP 的 redis 扩展
Laragon 的 PHP 版本自带 `php_redis.dll`,但默认是禁用的。 操作路径: - Laragon 菜单 → PHP → Extensions → 勾选 ✅ redis; - 或手动编辑 `php.ini`(Laragon → PHP → php.ini):取消注释这行 extension=php_redis.dll - 重启 Laragon(右上角 Restart Apache/Nginx + PHP-FPM); - 运行 `php -m | findstr redis`,能看到 `redis` 表示扩展已加载。配置 Laravel 使用 Redis 缓存驱动
仅装好扩展还不够,Laravel 默认仍用 file 缓存。需三步固化: - 修改 `.env`: CACHE_DRIVER=redisREDIS_HOST=127.0.0.1REDIS_PORT=6379REDIS_PASSWORD=nullREDIS_DB=0 - 清空旧配置缓存:运行 `php artisan config:clear`; - 重新编译配置:运行 `php artisan config:cache`; ⚠️ 不执行后两步,`.env` 改了也无效,`Cache::get()` 会静默返回 null。验证 Laravel 是否真连上了 Redis
别只信配置,要动手测: - 进入 `php artisan tinker`; - 输入 `Redis::ping()` → 应返回 `"PONG"`; - 再试写读: ```php Redis::set('test_laragon', 'ok'); Redis::get('test_laragon'); // 返回 "ok" ``` - 或用 `Cache::put('key', 'value', 30)` 写缓存,再 `Cache::get('key')` 读取; - 最后用 `redis-cli keys "*"` 查看是否有带 `laravel_database_` 前缀的 key,确认数据落进 Redis。基本上就这些。Laragon 的优势是开箱即用,但 Redis 和 PHP 扩展需要手动“点亮”,配置又必须固化,漏一步都会看似配置完成实则走文件缓存。










