温馨提示×

Redis在Debian上的连接管理

小樊
38
2025-12-23 02:04:42
栏目: 云计算

Redis 在 Debian 上的连接管理

一 安装与基础连通性

  • 安装服务端:sudo apt update && sudo apt install redis-server;启动与自启:sudo systemctl start redis-server && sudo systemctl enable redis-server;检查状态:sudo systemctl status redis-server
  • 仅本机连接测试:redis-cli ping,应返回 PONG
  • 远程连接准备:安装客户端工具 sudo apt install redis-tools;连接命令:redis-cli -h -p 6379 -a ;远程连通性测试:redis-cli -h ping。
  • 配置文件路径:/etc/redis/redis.conf(查看与修改常用参数)。

二 服务端连接相关配置

  • 监听地址:默认 bind 127.0.0.1 ::1(仅本地)。如需远程访问,注释或改为 bind 0.0.0.0(或指定内网接口),并确认 protected-mode 与密码策略配合。
  • 端口与保护:port 6379;生产环境建议保持 protected-mode yes 并配置 requirepass,避免无鉴权暴露。
  • 并发与超时:maxclients 10000(按业务与资源调优);timeout 0(不主动断开空闲客户端,可按需设置)。
  • 变更生效:修改 /etc/redis/redis.conf 后执行 sudo systemctl restart redis-server
  • 监听验证:ss -an | grep 6379 或 netstat -lntp | grep 6379,应看到 0.0.0.0:6379 或 [::]:6379 处于 LISTEN。

三 防火墙与网络连通性

  • UFW(Debian 常见):sudo ufw allow proto tcp from <TRUSTED_SUBNET> to any port 6379;仅允许受信网段访问。
  • firewalld(若使用 firewalld):sudo firewall-cmd --add-port=6379/tcp --permanent && sudo firewall-cmd --reload。
  • 云主机安全组:在控制台放行 6379/TCP 的入方向规则,来源限定为业务网段或跳板机。

四 连接数监控与调优

  • 服务端观察:redis-cli INFO 查看 connected_clients、instantaneous_ops_per_sec、used_memory 等关键指标;按需调整 maxclients 与系统资源。
  • 客户端连接池建议:
    • 连接获取与命令超时:connectTimeout/commandTimeout 建议 2s 左右。
    • TCP Keepalive:idle 30s、interval 10s、count 3,提升长连接稳定性。
    • 池容量:maxTotal 以“单连接 QPS × 期望总 QPS”估算,并遵循“客户端节点数 × maxTotal ≤ Redis 最大连接数”;maxIdle 贴近业务峰值,minIdle 10–20;maxWaitMillis 1000ms;开启 testWhileIdle 维持连接健康。

五 常见故障排查清单

  • 服务与日志:sudo systemctl status redis-server;sudo journalctl -u redis-server.service;必要时 tail -f /var/log/redis/redis-server.log
  • 端口占用:ss -tuln | grep 6379 或 netstat -tuln | grep 6379,释放冲突进程或调整端口。
  • 本地连通:redis-cli -h 127.0.0.1 -p 6379 ping;远程连通:redis-cli -h ping。
  • 防火墙/安全组:确认 6379/TCP 已放行且仅对受信来源开放。
  • 资源与权限:free -h、df -h 检查内存与磁盘;确保数据目录(如 /var/lib/redis)权限正确(redis:redis)。
  • 高并发连接:必要时调大内核 somaxconn(如 1024)、合理设置 maxclients 与客户端池参数,避免连接风暴。

0