Laravel本地开发报错:缓存存储不支持标签,无需改代码如何解决?
解决Laravel本地缓存标签不支持问题(无需安装Redis/修改业务代码)
问题根源
你的本地环境使用file缓存驱动,而Laravel的file驱动不支持缓存标签(Tagging),生产环境用redis驱动支持标签,因此出现报错。
无需安装Redis的解决方案
方案1:使用array缓存驱动(最快上手)
直接修改本地.env文件的缓存配置:
CACHE_DRIVER=array
- 特点:内存级缓存,请求结束后自动清空,完全无需额外配置,适合开发测试场景。
- 优势:零成本切换,不用改任何代码,也不用安装额外服务。
方案2:使用database缓存驱动(持久化缓存)
如果你需要本地缓存持久化(重启服务后缓存不丢失),可以用数据库驱动:
- 修改本地
.env文件:
CACHE_DRIVER=database
- 生成缓存表的迁移文件:
php artisan cache:table
- 运行迁移创建缓存表:
php artisan migrate
- 特点:利用本地已有的数据库(比如MySQL)存储缓存,支持标签功能,缓存数据持久化。
- 优势:不用安装Redis,基于现有开发环境即可实现和生产环境一致的缓存标签支持。
两种方案都不需要修改你的业务代码,只需要调整配置或执行简单的Laravel命令即可解决问题。
内容的提问来源于stack exchange,提问作者waqas saeed
相关产品推荐
相关产品推荐

