TP5.1 配置 Redis 缓存驱动主要修改 config/cache.php 文件,将缓存类型设置为 redis 并填写主机、端口及密码参数。适用场景为需要高性能缓存读写的 TP5.1 项目,风险边界在于确保 PHP 已安装 Redis 扩展且服务端口可达。
先说结论:修改配置文件并确认扩展可用即可完成连接。
- 适合:ThinkPHP 5.1 框架项目需启用 Redis 缓存场景
- 先准备:确认服务器已安装 Redis 服务及 PHP Redis 扩展
- 验收:通过代码设置并获取键值验证连通性
命令速用版
在 config/cache.php 中配置 Redis 连接参数,参考配置片段如下:
return [
// 默认缓存配置
'default' => [
'type' => 'File',
],
// Redis 缓存配置
'redis' => [
'type' => 'redis',
'host' => '127.0.0.1',
'port' => '6379',
'password' => '',
'expire' => 0,
'prefix' => '',
],
];代码中调用缓存驱动:
use think\facade\Cache;
Cache::store('redis')->set('key', 'value', 3600);
$value = Cache::store('redis')->get('key');为什么会这样
TP5.1 内置缓存驱动支持 Redis,通过配置文件切换驱动类。框架通过 config/cache.php 定义缓存连接信息,调用 Cache 门面时根据 store 方法指定的驱动名加载对应配置。若未正确配置驱动类型或连接参数,框架无法建立 Redis 连接。
分步处理
步骤一:检查 PHP 扩展
在终端执行 php -m | grep redis 或在代码中运行 phpinfo(),确认 redis 扩展已加载。若未安装,需通过 pecl install redis 或面板安装扩展并重启 Web 服务。
步骤二:修改缓存配置文件
打开项目 config/cache.php 文件,找到 redis 配置项。填写 host 为 Redis 服务器 IP,port 为端口号,password 为密码(若无密码留空)。确保 type 字段值为 redis。
步骤三:代码中指定驱动
在控制器或业务逻辑中,使用 Cache::store('redis') 明确指定使用 Redis 驱动。若希望全局默认使用 Redis,可将 default 配置的 type 改为 redis。
怎么验证是否生效
在控制器方法中写入测试代码,执行 Cache::store('redis')->set('test_key', 'test_value', 60)。随后执行 Cache::store('redis')->get('test_key') 查看是否返回 test_value。也可登录 Redis 客户端执行 keys test_key 确认键是否存在。
常见坑
1. 扩展未安装:配置正确但报错 Class 'Redis' not found,原因是 PHP 环境未安装 redis 扩展。
2. 密码配置错误:Redis 设有密码但配置文件中 password 为空,或密码包含特殊字符未正确转义。
3. 端口绑定限制:Redis 服务默认绑定 127.0.0.1,若应用与 Redis 不在同一机器,需修改 redis.conf 中 bind 配置。
4. 驱动名称混淆:配置文件中定义的键名需与 Cache::store() 中使用的名称一致,默认通常为 redis。
常见问题
如何设置全局默认使用 Redis 缓存?
将 config/cache.php 中 default 配置的 type 字段值修改为 redis 即可,之后 Cache::set 默认走 Redis 驱动。
连接报错 Connection refused 怎么办?
检查 Redis 服务是否启动,确认 host 和 port 配置正确,并检查防火墙是否放行 6379 端口。
TP5.1 支持哪些 Redis 操作命令?
支持标准 Redis 命令,可通过 Cache::store('redis')->handler() 获取原生 Redis 对象调用 lrange、hset 等高级方法。
参考来源
- redis 缓存的使用 php,thinkphp5.1 使用 redis 缓存
- tp5.1 如何使用 redis
- TP51 实现 Redis 的简单操作 (tp5.1 操作 redis)
- TP5.1+redis_tp5.1 redis-CSDN 博客
- tp5.1 使用 redis
- tp5 如何配置 redis
- TP5.1 使用 Redis 以及 Windows 配置 Redis 环境 (超详细 0 难度)
- tp5 中怎么用 redis_tp5 redis-CSDN 博客
- tp5 如何使用 redis