Redis
适用环境:RHEL/OEL 7/9 Linux
1. Redis 概述
Redis 是一个开源的内存数据结构存储系统,可用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。
更多学习教程公众号风哥教程itpux_com 更多视频教程www.fgedu.net.cn
1.1 Redis 的特点
- 高性能:基于内存操作,读写速度快
- 支持多种数据结构
- 支持持久化
- 支持主从复制
- 支持集群
- 支持事务
2. 硬件及系统要求
2.1 硬件要求
- CPU: 至少 2 核
- 内存: 至少 4GB(根据实际数据量调整)
- 磁盘: 至少 50GB SSD
- 网络: 千兆网卡
2.2 系统要求
- 操作系统: RHEL/OEL 7.x 或 9.x
- 内核版本: 3.10.0-1160.el7.x86_64 或更高
- 关闭 SElinux 或设置为 permissive 模式
- 关闭防火墙或开放必要端口
3. Redis 安装
3.1 安装依赖
yum install -y gcc gcc-c++ make wget
3.2 下载 Redis
cd /tmp
wget https://download.redis.io/releases/redis-7.0.12.tar.gz
3.3 解压并编译
tar -zxvf redis-7.0.12.tar.gz
cd redis-7.0.12
make
3.4 安装 Redis
make install PREFIX=/usr/local/redis
3.5 创建配置目录
mkdir -p /etc/redis
3.6 复制配置文件
cp /tmp/redis-7.0.12/redis.conf /etc/redis/
4. Redis 配置
4.1 编辑配置文件
vi /etc/redis/redis.conf
4.2 基本配置
# 绑定地址
bind 0.0.0.0
# 端口
port 6379
# 运行模式
daemonize yes
# pid 文件
pidfile /var/run/redis_6379.pid
# 日志文件
logfile "/var/log/redis/redis.log"
# 数据目录
dir /var/lib/redis
# 密码
requirepass your_secure_password
# 最大内存
maxmemory 2gb
# 内存策略
maxmemory-policy allkeys-lru
# 持久化
appendonly yes
appendfsync everysec
4.3 创建必要目录
mkdir -p /var/lib/redis
mkdir -p /var/log/redis
chown -R redis:redis /var/lib/redis
chown -R redis:redis /var/log/redis
5. 服务管理
5.1 创建 Redis 系统用户
useradd -r -s /sbin/nologin redis
5.2 创建系统服务文件
vi /etc/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/redis/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
5.3 启动 Redis 服务
systemctl daemon-reload
systemctl start redis
systemctl enable redis
5.4 检查服务状态
systemctl status redis
6. 安装验证
6.1 连接到 Redis
/usr/local/redis/bin/redis-cli -a your_secure_password
6.2 测试 Redis 命令
127.0.0.1:6379> PING
PONG
127.0.0.1:6379> SET test_key "Hello Redis"
OK
127.0.0.1:6379> GET test_key
"Hello Redis"
127.0.0.1:6379> EXIT
6.3 检查日志
tail -f /var/log/redis/redis.log
7. 性能优化
7.1 操作系统参数优化
vi /etc/sysctl.conf
# 内存参数
vm.overcommit_memory = 1
# 网络参数
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
sysctl -p
7.2 Redis 参数优化
vi /etc/redis/redis.conf
# 最大内存
maxmemory 8gb
# 内存策略
maxmemory-policy allkeys-lru
# 持久化策略
appendonly no
# 或使用 RDB 持久化
save 900 1
save 300 10
save 60 10000
# 客户端连接
maxclients 10000
# 超时时间
timeout 0
systemctl restart redis
8. 故障排查
8.1 常见问题及解决方法
8.1.1 服务启动失败
# 检查错误日志
cat /var/log/redis/redis.log
# 检查端口是否被占用
netstat -tuln | grep 6379
# 检查配置文件
vi /etc/redis/redis.conf
8.1.2 连接被拒绝
# 检查绑定地址
grep bind /etc/redis/redis.conf
# 检查防火墙
firewall-cmd --list-ports
# 检查密码
redis-cli -a your_secure_password ping
8.1.3 内存不足
# 检查内存使用情况
free -h
# 调整最大内存
vi /etc/redis/redis.conf
maxmemory 4gb
# 重启服务
systemctl restart redis
8.1.4 持久化失败
# 检查数据目录权限
ls -la /var/lib/redis
# 检查磁盘空间
df -h
# 检查持久化配置
vi /etc/redis/redis.conf
警告:本指南仅供参考,实际部署时请根据具体环境进行调整。在生产环境中,建议进行充分的测试和监控。
提示:定期监控 Redis 服务的运行状态,确保内存使用合理,持久化正常。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
