Redis安装与配置 #

一、Linux安装 #

1.1 Ubuntu/Debian安装 #

bash
# 更新包索引
sudo apt update

# 安装Redis
sudo apt install redis-server -y

# 启动Redis
sudo systemctl start redis-server
sudo systemctl enable redis-server

# 验证安装
redis-cli ping
# 输出: PONG

1.2 CentOS/RHEL安装 #

bash
# 安装EPEL源
sudo yum install epel-release -y

# 安装Redis
sudo yum install redis -y

# 启动Redis
sudo systemctl start redis
sudo systemctl enable redis

# 验证安装
redis-cli ping

1.3 源码编译安装 #

bash
# 下载源码
wget https://download.redis.io/redis-stable.tar.gz

# 解压
tar xzf redis-stable.tar.gz
cd redis-stable

# 编译
make

# 安装(可选)
sudo make install

# 启动Redis
./src/redis-server

# 或指定配置文件
./src/redis-server redis.conf

1.4 Docker安装 #

bash
# 拉取镜像
docker pull redis:7.0

# 启动Redis容器
docker run -d \
    --name redis \
    -p 6379:6379 \
    -v /data/redis:/data \
    redis:7.0

# 启动带密码的Redis
docker run -d \
    --name redis \
    -p 6379:6379 \
    redis:7.0 --requirepass yourpassword

# 使用自定义配置
docker run -d \
    --name redis \
    -p 6379:6379 \
    -v /path/to/redis.conf:/etc/redis/redis.conf \
    redis:7.0 redis-server /etc/redis/redis.conf

二、macOS安装 #

2.1 Homebrew安装 #

bash
# 安装Redis
brew install redis

# 启动服务
brew services start redis

# 停止服务
brew services stop redis

# 重启服务
brew services restart redis

# 验证
redis-cli ping

2.2 手动安装 #

bash
# 下载源码
curl -O https://download.redis.io/redis-stable.tar.gz

# 解压编译
tar xzf redis-stable.tar.gz
cd redis-stable
make

# 启动
./src/redis-server

三、Windows安装 #

3.1 WSL安装(推荐) #

bash
# 在WSL中安装Redis
sudo apt update
sudo apt install redis-server -y

# 启动Redis
sudo service redis-server start

# 验证
redis-cli ping

3.2 Windows原生安装 #

bash
# 下载Windows版本
# https://github.com/microsoftarchive/redis/releases

# 解压后运行
redis-server.exe redis.windows.conf

# 或安装为Windows服务
redis-server.exe --service-install redis.windows.conf
redis-server.exe --service-start

四、配置文件详解 #

4.1 基础配置 #

bash
# redis.conf 主要配置项

################################## 网络 ##################################
# 绑定地址
bind 127.0.0.1

# 保护模式(生产环境建议开启)
protected-mode yes

# 端口号
port 6379

# TCP连接队列
tcp-backlog 511

# 客户端空闲超时(0表示禁用)
timeout 0

# TCP keepalive
tcp-keepalive 300

################################## 通用 ##################################
# 是否以守护进程运行
daemonize no

# PID文件位置
pidfile /var/run/redis/redis-server.pid

# 日志级别
# debug: 大量信息,适合开发/测试
# verbose: 很多信息,但不像debug那样多
# notice: 适量信息,适合生产
# warning: 仅记录重要/关键信息
loglevel notice

# 日志文件位置
logfile /var/log/redis/redis-server.log

# 数据库数量
databases 16

################################## 安全 ##################################
# 密码认证
requirepass yourpassword

# 重命名危险命令
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command KEYS ""

4.2 内存管理配置 #

bash
################################## 内存 ##################################
# 最大内存使用量
maxmemory 2gb

# 内存淘汰策略
# volatile-lru: 从设置了过期时间的数据集中淘汰最近最少使用的key
# allkeys-lru: 从所有数据集中淘汰最近最少使用的key
# volatile-lfu: 从设置了过期时间的数据集中淘汰最不常用的key
# allkeys-lfu: 从所有数据集中淘汰最不常用的key
# volatile-random: 从设置了过期时间的数据集中随机淘汰key
# allkeys-random: 从所有数据集中随机淘汰key
# volatile-ttl: 从设置了过期时间的数据集中淘汰即将过期的key
# noeviction: 不淘汰,内存满时返回错误
maxmemory-policy allkeys-lru

# 淘汰样本数量
maxmemory-samples 5

4.3 持久化配置 #

bash
################################# RDB快照 #################################
# 保存策略
save 900 1      # 900秒内至少1个key变化
save 300 10     # 300秒内至少10个key变化
save 60 10000   # 60秒内至少10000个key变化

# 禁用RDB
# save ""

# RDB文件名
dbfilename dump.rdb

# 数据目录
dir /var/lib/redis

# 压缩
rdbcompression yes

# 校验
rdbchecksum yes

################################# AOF日志 #################################
# 开启AOF
appendonly yes

# AOF文件名
appendfilename "appendonly.aof"

# 同步策略
# always: 每次写操作都同步,最安全但最慢
# everysec: 每秒同步一次,推荐
# no: 由操作系统决定,最快但最不安全
appendfsync everysec

# AOF重写期间是否禁用fsync
no-appendfsync-on-rewrite no

# AOF文件大小触发重写的百分比
auto-aof-rewrite-percentage 100

# AOF文件触发重写的最小大小
auto-aof-rewrite-min-size 64mb

4.4 主从复制配置 #

bash
################################# 主从复制 #################################
# 设置主节点地址
replicaof 192.168.1.100 6379

# 主节点密码
masterauth yourpassword

# 从节点只读
replica-read-only yes

# 从节点连接主节点时的密码
replica-auth-password yourpassword

4.5 性能优化配置 #

bash
################################# 性能 #################################
# 禁用THP(Transparent Huge Pages)
# 建议在系统层面禁用
# echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 客户端连接数
maxclients 10000

# 慢查询日志
slowlog-log-slower-than 10000  # 微秒
slowlog-max-len 128

# 客户端输出缓冲区限制
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

五、启动与停止 #

5.1 启动Redis #

bash
# 直接启动(前台运行)
redis-server

# 指定配置文件启动
redis-server /etc/redis/redis.conf

# 后台启动(配置daemonize yes)
redis-server /etc/redis/redis.conf

# Docker启动
docker run -d -p 6379:6379 redis:7.0

5.2 停止Redis #

bash
# 使用redis-cli
redis-cli shutdown

# 带密码停止
redis-cli -a yourpassword shutdown

# 使用kill(不推荐)
kill -9 $(pidof redis-server)

# Docker停止
docker stop redis

5.3 重启Redis #

bash
# systemctl方式
sudo systemctl restart redis

# Docker方式
docker restart redis

六、验证安装 #

6.1 检查Redis状态 #

bash
# 连接Redis
redis-cli

# 测试连接
127.0.0.1:6379> ping
PONG

# 查看服务器信息
127.0.0.1:6379> info

# 查看特定信息
127.0.0.1:6379> info memory
127.0.0.1:6379> info stats

# 查看配置
127.0.0.1:6379> config get *

# 查看特定配置
127.0.0.1:6379> config get maxmemory

6.2 性能测试 #

bash
# 使用redis-benchmark
redis-benchmark -t set,get -n 100000 -q

# 输出示例:
# SET: 102564.10 requests per second
# GET: 105263.16 requests per second

# 完整性能测试
redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 100000

七、常见问题 #

7.1 连接被拒绝 #

bash
# 错误信息
Could not connect to Redis at 127.0.0.1:6379: Connection refused

# 解决方案
# 1. 检查Redis是否启动
ps aux | grep redis

# 2. 检查端口是否监听
netstat -tlnp | grep 6379

# 3. 启动Redis
redis-server /etc/redis/redis.conf

7.2 内存不足 #

bash
# 错误信息
OOM command not allowed when used memory > 'maxmemory'

# 解决方案
# 1. 增加maxmemory配置
redis-cli config set maxmemory 4gb

# 2. 设置淘汰策略
redis-cli config set maxmemory-policy allkeys-lru

7.3 权限问题 #

bash
# 错误信息
NOAUTH Authentication required

# 解决方案
# 使用密码连接
redis-cli -a yourpassword

# 或连接后认证
redis-cli
127.0.0.1:6379> auth yourpassword

八、总结 #

安装要点:

系统 推荐方式
Ubuntu/Debian apt install
CentOS/RHEL yum install
macOS brew install
Windows WSL或Docker
生产环境 源码编译或Docker

配置要点:

配置项 推荐值
bind 内网地址
protected-mode yes
requirepass 设置强密码
maxmemory 物理内存的60-80%
maxmemory-policy allkeys-lru

下一步,让我们学习Redis的基础语法!

最后更新:2026-03-27