Laravel如何配置和使用缓存?(Redis代码示例)
发布时间 - 2025-12-17 00:00:00 点击率:次Laravel中配置Redis缓存需正确设置.env参数并运行config:clear;使用Cache门面可执行存取、判断与删除操作;标签功能通过key前缀模拟,需启用taggable配置;调试时可用redis-cli或Redis门面验证连接与数据。
在 Laravel 中配置和使用 Redis 缓存很简单,关键是正确设置驱动、连接参数,并用好 Cache 门面或辅助函数。
配置 Redis 缓存驱动
确保 .env 文件中已启用 Redis 并填写正确参数:

CACHE_DRIVER=redis REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 REDIS_DB=0
然后运行 php artisan config:clear 清除配置缓存,让新配置生效。
Laravel 默认会读取 config/database.php 中的 redis 配置,并自动用于 cache 驱动。无需额外修改 cache 配置文件,除非你用多个 Redis 实例(比如缓存和 session 分开)。
基础缓存操作(Redis 示例)
使用 Cache 门面即可,Laravel 自动走 Redis:
- 存数据:指定键、值和过期时间(秒)
use Illuminate\Support\Facades\Cache;
Cache::put('user_123', ['name' => 'Tom', 'role' => 'admin'], 3600); // 存 1 小时
- 取数据:不存在返回 null,也可设默认值
$user = Cache::get('user_123');
// 或带默认值
$user = Cache::get('user_123', ['name' => 'Guest']);
- 判断是否存在 & 删除
if (Cache::has('user_123')) {
Cache::forget('user_123');
}
高级用法:缓存标签与前缀(Redis 不原生支持标签)
注意:Redis 本身不支持“标签(tags)”,但 Laravel 通过序列化 key + 前缀模拟实现。需开启 cache.tags 配置并使用 Redis 连接池(推荐 Laravel 9+):
- 在
config/cache.php中确认'stores.redis.taggable' => true已启用(Laravel 10 默认开启) - 使用示例:
Cache::tags(['users', 'admins'])->put('profile_123', $data, 3600);
Cache::tags(['users'])->flush(); // 清空所有带 users 标签的项
⚠️ 注意:tag 操作在 Redis 中会产生额外 key(如 tags:users:ids),生产环境建议压测验证性能影响。
调试与验证 Redis 是否生效
快速确认缓存是否走 Redis:
- 用 Redis CLI 查看:执行
redis-cli KEYS "*" | grep user_123 - 在代码中临时加日志:
\Redis::connection()->set('test_key', 'from_php');
dd(\Redis::connection()->get('test_key')); // 应输出 'from_php'
如果报错连接失败,检查 REDIS_HOST、防火墙、Redis 服务状态;如果值为空,可能是 DB 编号不对或密码未设(REDIS_PASSWORD=null 表示无密码,不是字符串 "null")。
基本上就这些。Redis 缓存配置不复杂但容易忽略 .env 和 config:clear 步骤,写完记得验证一下实际存到哪了。
# php
# word
# laravel
# redis
# cad
# 防火墙
# session
# 配置文件
# red
# NULL
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在IIS中新建站点并配置端口与物理路径?
如何在景安服务器上快速搭建个人网站?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
EditPlus中的正则表达式实战(5)
使用spring连接及操作mongodb3.0实例
昵图网官方站入口 昵图网素材图库官网入口
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel如何使用withoutEvents方法临时禁用模型事件
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何在香港服务器上快速搭建免备案网站?
海南网站制作公司有哪些,海口网是哪家的?
深圳网站制作的公司有哪些,dido官方网站?
教你用AI将一段旋律扩展成一首完整的曲子
如何实现建站之星域名转发设置?
如何用虚拟主机快速搭建网站?详细步骤解析
桂林网站制作公司有哪些,桂林马拉松怎么报名?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
简单实现jsp分页
如何在腾讯云服务器上快速搭建个人网站?
如何在万网ECS上快速搭建专属网站?
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何在建站之星绑定自定义域名?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
浅述节点的创建及常见功能的实现
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
教学论文网站制作软件有哪些,写论文用什么软件
?
Laravel如何使用Blade模板引擎?(完整语法和示例)
Python图片处理进阶教程_Pillow滤镜与图像增强
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
5种Android数据存储方式汇总
在线制作视频网站免费,都有哪些好的动漫网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
jQuery 常见小例汇总
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
如何解决hover在ie6中的兼容性问题
如何正确选择百度移动适配建站域名?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
微信小程序制作网站有哪些,微信小程序需要做网站吗?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
利用JavaScript实现拖拽改变元素大小
如何快速登录WAP自助建站平台?

