You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8中Redis已设缓存键但客户端无法列出键的问题

Laravel 8 Redis缓存CLI看不到键的问题排查与解决

原因1:Laravel缓存键自带前缀

Laravel的缓存系统默认会给所有缓存键添加前缀,默认前缀是laravel_cache。你代码里用\Cache::put($keyName, ...)存储的键,实际在Redis里是laravel_cache:$keyName,直接执行KEYS *自然匹配不到。

解决:

  • 直接在Redis CLI里执行带前缀的匹配命令:KEYS "laravel_cache:*",就能看到Laravel生成的缓存键。
  • 若想取消前缀,编辑config/cache.php,将prefix项设为空字符串,之后执行php artisan config:clear使配置生效。

原因2:Redis数据库实例不匹配

Laravel默认可能配置使用Redis的非0号数据库(比如db 1),而Node.js程序通常默认连接0号数据库。你可以查看config/database.php中redis.default.database的配置值,确认是否和你CLI连接的数据库一致。

解决:

  • 在Redis CLI中切换到对应数据库,比如SELECT 1,再执行KEYS *即可看到Laravel的缓存键。
  • 或者修改config/database.php里的redis.default.database为0,和Node.js保持一致,执行php artisan config:clear生效。

额外排查点

  • 确认Laravel的Redis连接参数和CLI一致:检查.env里的REDIS_HOST、REDIS_PORT、REDIS_PASSWORD,避免连到了不同的Redis服务器。
  • 验证缓存驱动配置:确认config/cache.php中default驱动确实是redis,避免配置未生效。
  • 查看Redis日志:检查Redis服务器的日志文件,确认Laravel发送的SET命令是否成功执行,排除权限或连接异常。

内容的提问来源于stack exchange,提问作者PHP User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:45:33