Thinkphp支持redis缓存,需安装Redis扩展并配置cache.php,设置type为redis及连接参数,使用Cache::set/get等方法操作缓存,注意服务运行、密码配置、key前缀和持久连接。
thinkphp 支持 Redis 作为缓存驱动,配置和使用非常简单。只需要正确设置缓存配置,并确保环境已安装 Redis 扩展即可。
1. 环境准备
确保 PHP 已安装 Redis 扩展:
- 使用命令 php -m | grep redis 查看是否已安装
- 若未安装,可通过 pecl 安装:pecl install redis
- 在 php.ini 中启用:extension=redis.so(linux)或 extension=php_redis.dll(windows)
同时确保 Redis 服务正在运行。
2. 配置 Redis 缓存
在 ThinkPHP 的应用配置文件中(如 config/cache.php)设置 Redis 驱动:
立即学习“PHP免费学习笔记(深入)”;
config/cache.php
return [ // 默认缓存驱动 'default' => 'redis', <pre class='brush:php;toolbar:false;'>// 缓存连接配置 'stores' => [ 'redis' => [ 'type' => 'redis', 'host' => '127.0.0.1', 'port' => 6379, 'password' => '', // 有密码时填写 'select' => 0, // 使用的数据库编号 'timeout' => 30, 'expire' => 3600, // 缓存默认有效期(秒) 'persistent' => false, // 是否长连接 ], ],
];
如果使用 ThinkPHP 5.1 或更早版本,配置可能位于 application/config.php 中:
'cache' => [ 'type' => 'redis', 'host' => '127.0.0.1', 'port' => 6379, 'prefix' => 'think_', 'expire' => 3600, ],
3. 使用 Redis 缓存
配置完成后,可以直接使用 Cache 类进行操作:
写入缓存:
use thinkCache; <p>Cache::set('user_name', 'zhangsan', 3600); // 保存1小时</p>
读取缓存:
$name = Cache::get('user_name');
删除缓存:
Cache::rm('user_name'); // 或清除所有 Cache::clear();
也可以使用助手函数简化操作:
cache('user_age', 25); $age = cache('user_age'); cache('user_age', null); // 删除
4. 注意事项
以下几点有助于避免常见问题:
- 确保 Redis 服务可访问,防火墙未阻止 6379 端口
- 如果使用密码,务必在配置中填写 password 字段
- 多应用共享 Redis 时注意 key 冲突,合理设置 prefix
- 生产环境建议开启持久化连接以提升性能
基本上就这些,配置好后 Redis 能显著提升系统响应速度。不复杂但容易忽略扩展和权限问题。