部署Redis缓存
约 567 字大约 2 分钟
2026-08-29
Redis 是高性能的内存键值数据库,常用作缓存、会话存储与队列。本文介绍安装、设置密码与基础使用。
开始前
已远程连接 Linux 实例。Redis 默认只监听本机,这是推荐状态;如需远程访问务必设置强密码并在安全组限源。
安装并启动
Debian / Ubuntu
sudo apt update && sudo apt install redis-server -y
sudo systemctl enable --now redis-serverCentOS 8+ / Rocky Linux
sudo dnf install redis -y
sudo systemctl enable --now redis设置访问密码
编辑 /etc/redis/redis.conf(CentOS 为 /etc/redis.conf),找到 # requirepass foobared 一行,改为:
requirepass 你的强密码重启生效并验证:
sudo systemctl restart redis-server # CentOS 为 redis
redis-cli127.0.0.1:6379> ping
(error) NOAUTH Authentication required. ← 未带密码被拒,说明密码已生效
127.0.0.1:6379> auth 你的强密码
OK
127.0.0.1:6379> ping
PONG基础命令
SET name "svyun" # 写入
GET name # 读取
SET captcha:8321 "ok" EX 300 # 300 秒后自动过期
EXPIRE name 60 # 给已有键设置过期时间
DEL name # 删除
KEYS captcha:* # 按模式查找(生产慎用,量大时阻塞)
INFO memory # 查看内存占用应用接入时主机填 127.0.0.1、端口 6379、密码即 requirepass 的值。
远程访问(按需)
默认 bind 127.0.0.1 仅监听本机。确需远程访问时:
requirepass已设置强密码(必做)。bind行追加内网地址(如bind 127.0.0.1 172.16.0.5),或改为0.0.0.0(配合安全组限源)。- 安全组放行 6379 且源地址限定为应用服务器 IP。
常见问题
连接被拒(Connection refused)?
服务未启动或监听地址不含你连接的地址:systemctl status redis、ss -tunlp | grep 6379。
提示 DENIED Redis is running in protected mode?
未设置密码且开启保护模式:按第二步设置 requirepass 即可。
内存满、写入报错?
Redis 默认写满即报错。设置内存上限与淘汰策略(redis.conf):
maxmemory 512mb
maxmemory-policy allkeys-lru缓存场景用 allkeys-lru 自动淘汰旧键;用作存储时不可配置淘汰,应扩容内存。
数据会丢吗?
Redis 按策略持久化(RDB 快照/AOF)。默认 RDB 周期性落盘,重启可能丢失最后几分钟数据;对丢失敏感的场景在配置中开启 appendonly yes。
