阅读量:1
LNMP架构下Redis使用指南
一、环境准备
确保已搭建LNMP环境(Linux+nginx+MySQL+PHP),可通过包管理器安装基础组件:
- Ubuntu/Debian:
sudo apt install nginx mysql-server php-fpm - CentOS/RHEL:
sudo yum install nginx mariadb-server php-fpm
二、安装Redis及扩展
-
安装Redis服务端
# Ubuntu/Debian sudo apt install redis-server # CentOS/RHEL sudo yum install redis启动并设置开机自启:
sudo systemctl start redis-server sudo systemctl enable redis-server -
安装PHP Redis扩展
# 使用PECL安装 sudo pecl install redis # 编辑php.ini(路径根据PHP版本调整) echo "extension=redis.so" | sudo tee -a /etc/php/7.x/fpm/php.ini sudo systemctl restart php-fpm验证安装:创建
phpinfo.php文件,访问页面确认redis模块已加载。
三、配置Redis服务
-
修改Redis配置文件
编辑/etc/redis/redis.conf:- 绑定地址:
bind 127.0.0.1(仅允许本地访问,生产环境建议限制IP) - 端口:默认
6379,可按需修改 - 持久化:
- RDB:设置
save 900 1(900秒内至少1次修改时生成快照) - AOF:设置
appendfsync everysec(每秒同步一次写操作)
重启Redis生效:sudo systemctl restart redis-server
- RDB:设置
- 绑定地址:
-
(可选)配置Nginx与Redis交互
若需通过Nginx直接代理Redis(如API场景),在Nginx配置中添加:location /redis/ { proxy_pass http://127.0.0.1:6379; proxy_set_header Host $host; }但通常建议通过PHP代码间接操作Redis,Nginx仅作为请求入口。
四、在PHP代码中使用Redis
-
基础操作示例
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 设置缓存(1小时过期) $redis->set('user:1', json_encode(['name' => 'Alice']), 3600); // 获取缓存 $user = $redis->get('user:1'); echo $user ? json_decode($user, true)['name'] : 'Cache Miss'; ?>支持数据类型:字符串、哈希、列表、集合等,可通过
hSet、lPush等方法操作。 -
缓存应用场景
- 数据库查询缓存:查询结果存入Redis,设置过期时间,减少数据库压力。
- 会话存储:将
$_SESSION数据存入Redis,实现跨服务器共享(需配置PHP会话处理器为redis)。 - 消息队列:利用
LPUSH/BRPOP实现简单队列,处理异步任务。
五、安全与优化
-
安全配置
- 为Redis设置密码:在
redis.conf中添加requirepass yourpassword,并在PHP代码中使用$redis->auth('yourpassword')。 - 限制Redis访问IP,避免暴露在公网。
- 为Redis设置密码:在
-
性能优化
- 调整
redis.conf中的maxmemory参数,限制内存使用,避免OOM。 - 生产环境建议启用AOF持久化,确保数据安全。
- 调整
六、测试与验证
- 通过
redis-cli测试服务是否正常:redis-cli ping # 应返回"PONG" redis-cli get user:1 # 查看缓存数据 - 访问PHP测试页面,确认缓存逻辑正确。
参考来源:
以上就是关于“LNMP架构下Redis使用指南”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm