应启用redis缓存驱动并配置cache_driver=redis,因其支持高性能、原子操作与分布式共享;本地开发可用file驱动,但生产环境必须切换至redis或memcached以避免文件锁导致的并发瓶颈。

如果您希望提升 Laravel 应用的响应速度与并发处理能力,则需启用缓存机制。Laravel 提供了多层级、可配置的缓存系统,支持多种驱动与灵活的调用方式。以下是启用缓存机制的具体方法:
一、配置缓存驱动
缓存行为由 CACHE_DRIVER 环境变量控制,其值决定底层存储方式。不同驱动适用于不同场景,必须在项目启动前完成配置。
1、编辑项目根目录下的 .env 文件,修改或添加以下行:
2、根据实际部署环境选择驱动类型:file 适用于本地开发;redis 或 memcached 为生产环境必需;array 仅限单请求生命周期测试。
3、确认 config/cache.php 中对应驱动的连接配置与 config/database.php 的 Redis 或 Memcached 设置一致,特别是 connection 名称与 database 编号。
二、启用 Redis 缓存驱动
Redis 是生产环境首选,具备高性能、原子操作与跨进程共享能力。启用前需确保服务可用且 PHP 扩展已就绪。
1、执行 Composer 命令安装 Predis 客户端(若未使用 phpredis 扩展):
2、在 .env 中设置驱动为 redis:
3、检查 config/database.php 中 redis.cache 连接是否已定义,且 database 值不与默认连接冲突(推荐设为 1)。
4、运行命令验证 Redis 连接是否生效:
三、使用 Cache 门面写入与读取缓存
Cache 门面封装了统一接口,屏蔽底层差异,所有驱动均支持相同方法签名。操作前需确保驱动配置已加载。
1、在控制器或服务类中引入门面:
2、写入带过期时间的缓存项:
3、读取缓存并提供默认回退值:
4、判断键是否存在(注意:该操作非原子,高并发下存在竞态风险):
四、使用 remember 方法避免缓存穿透
Cache::remember 可在缓存缺失时自动执行回调并保存结果,但默认会缓存 null 值,导致后续请求持续穿透至数据库。需主动规避空值误存。
1、基础用法(存在穿透风险):
2、安全写法:对查询结果做显式判空,并为 null 情况设置短时效空标记:
3、读取时先检查空标记,再尝试获取真实数据:
五、清除缓存数据
缓存内容需按需刷新,否则将长期返回旧值。不同驱动清除逻辑不同,命令默认仅作用于默认 store。
1、清空当前默认缓存 store:
2、若使用 Redis 驱动且需彻底清空当前数据库,请进入 Redis CLI 执行:
3、清除特定 tagged 缓存(仅 redis / database 驱动支持):











