php 7.4 配置 redis 缓存需三步:一、安装并启动 redis 服务端,验证 redis-cli ping 返回 pong;二、用 pecl 安装 phpredis 扩展,配置 php.ini 启用 extension=redis.so 并重启 php;三、php 中用 pconnect 安全连接,设超时、认证、库选择与命名空间,加异常兜底和数据库回退。

PHP 7.4 配置 Redis 缓存需完成三步:安装 Redis 服务端、启用 phpredis 扩展、在 PHP 代码中正确连接与使用。整个过程不复杂但容易忽略关键细节,尤其在生产环境。
一、确认 Redis 服务已运行
Redis 必须先在服务器上安装并启动,PHP 才能连接。常见方式:
- Ubuntu/Debian:
sudo apt install redis-server,启动后默认监听127.0.0.1:6379 - CentOS/RHEL(源码安装):下载 Redis 5.x 或 7.x,
make && make install,修改redis.conf中daemonize yes、bind 127.0.0.1、protected-mode no(仅内网可关),再用redis-server /path/to/redis.conf启动 - 宝塔面板用户:直接在「软件商店」安装 Redis,启动后状态显示「运行中」即可
验证是否可用:redis-cli ping 返回 PONG 表示服务正常。
二、安装并启用 phpredis 扩展
PHP 7.4 需要官方 phpredis 扩展(非 predis 纯 PHP 库),推荐用 PECL 安装:
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
- 确保已安装开发包:
sudo apt install php7.4-dev(Ubuntu)或sudo yum install php74-php-devel(CentOS) - 执行:
sudo pecl install redis(自动编译并输出extension=redis.so路径) - 编辑
php.ini(可通过php --ini查找路径),在末尾添加:extension=redis.so - 重启 PHP 服务:
sudo systemctl restart php7.4-fpm或sudo service php-fpm restart
检查是否生效:php -m | grep redis 有输出即成功;也可写个 phpinfo() 页面搜索 “redis”。
三、PHP 代码中安全连接与缓存操作
不要直接 new Redis() 后裸连,生产环境必须加超时、异常兜底和数据库回退逻辑:
- 使用长连接(
pconnect)复用连接,减少 TCP 开销 - 设置连接超时(如 2 秒)、读超时(如 3 秒),避免阻塞进程
- 密码认证和库选择要显式声明,避免混用 0 号库
- 缓存键建议带命名空间,如
user:1001:profile,避免冲突
示例代码:
$redis = new Redis();try {
$redis->pconnect('127.0.0.1', 6379, 2);
// $redis->auth('your_password'); // 有密码时启用
$redis->select(1); // 明确业务库
$redis->setOption(Redis::OPT_READ_TIMEOUT, 3);
// 缓存用户数据(JSON 字符串 + 1 小时过期)
$redis->setex('user:1001', 3600, json_encode(['name' => 'Alice', 'age' => 30]));
// 读取并解码
$data = $redis->get('user:1001');
if ($data) {
$user = json_decode($data, true);
} else {
// 缓存未命中,查数据库并写入缓存
$user = fetchFromDB(1001);
$redis->setex('user:1001', 3600, json_encode($user));
}
} catch (RedisException $e) {
// 生产必须降级,不能中断业务
$user = fetchFromDB(1001);
}
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










