Redis 作为一款高性能的内存数据库,其启动与停止操作是日常运维中的基础技能,掌握正确的命令不仅能确保服务稳定运行,还能有效排查问题,以下是关于 Redis 启停命令的详细说明,涵盖不同场景下的操作方法及注意事项。

Redis 启动命令
Redis 的启动方式多样,根据部署环境(开发、生产)和配置需求(默认配置、自定义配置)可选择不同的命令,核心启动命令为 redis-server
,其基本语法为 redis-server [配置文件路径] [选项]
。
使用默认配置启动
在开发或测试环境中,若无需修改默认参数,可直接执行以下命令:
redis-server
Redis 会以默认配置启动,默认监听端口为 6379,数据持久化文件(如 dump.rdb
)保当前目录,但生产环境不推荐此方式,因默认配置可能无法满足性能、安全等需求。
指定配置文件启动
生产环境中通常通过自定义配置文件(如 /etc/redis/redis.conf
)管理 Redis 参数,启动时需明确指定文件路径:

redis-server /etc/redis/redis.conf
关键配置项说明(部分常见参数如下表):
配置项 | 默认值 | 说明 |
---|---|---|
port |
6379 | 服务监听端口 |
bind |
0.0.1 | 绑定 IP 地址,若需远程访问可设置为 0.0.0 (需注意防火墙配置) |
daemonize |
no | 是否以守护进程(后台)运行,生产环境建议设置为 yes |
pidfile |
/var/run/redis_6379.pid | 进程 ID 文件路径,便于管理进程 |
logfile |
stdout | 日志文件路径,设置为具体路径(如 /var/log/redis/redis.log )可持久化日志 |
dir |
数据库文件、AOF 文件等存储目录 | |
appendonly |
no | 是否开启 AOF 持久化,开启后数据更安全但可能影响性能 |
启动后可通过 ps aux | grep redis
查看进程是否运行,或使用 redis-cli ping
测试连接(返回 PONG
表示正常)。
指定选项启动
除配置文件外,也可通过命令行选项临时覆盖配置,
redis-server --port 6380 --daemonize yes --logfile /tmp/redis.log
此方式适用于临时调整参数,但需注意命令行选项优先级高于配置文件。
常见启动问题及解决
- 端口冲突:若 6379 端口被占用,需修改
port
配置或使用-p
选项指定新端口。 - 权限不足:若配置文件中
dir
或logfile
路径无 Redis 用户写权限,需修改目录权限或调整用户。 - 配置语法错误:启动时若提示语法错误,可通过
redis-server -test /path/to/redis.conf
检查配置文件语法。
Redis 停止命令
Redis 的停止操作需确保数据安全持久化,避免直接 kill 进程导致数据丢失,推荐使用客户端命令或系统信号管理服务。
使用 redis-cli
停止
通过 Redis 客户端发送 SHUTDOWN
命令是安全停止的首选方式,它会先执行数据持久化(RDB 和 AOF)再退出服务:
redis-cli SHUTDOWN
若需强制停止(不推荐,可能导致数据丢失),可添加 NOSAVE
参数:
redis-cli SHUTDOWN NOSAVE
远程停止时需指定 IP 和端口(需确保配置文件允许远程连接):
redis-cli -h 192.168.1.100 -p 6379 SHUTDOWN
使用系统信号
- 优雅停止:发送
SIGTERM
信号(与SHUTDOWN
效果相同):kill -TERM <PID> # 或 kill <PID>
- 强制停止:发送
SIGKILL
信号(仅当服务无响应时使用):kill -KILL <PID>
获取 PID 的方式:若配置文件中指定了
pidfile
,可通过cat /var/run/redis_6379.pid
查看;或使用pgrep redis
命令。
使用 systemd 管理(推荐)
若通过包管理器(如 apt/yum)安装的 Redis,通常已集成 systemd 服务管理,可通过以下命令控制:
systemctl start redis # 启动 systemctl stop redis # 停止 systemctl restart redis # 重启 systemctl status redis # 查看状态
此方式会自动处理配置文件路径、权限等问题,适合生产环境。
停止后的检查
停止服务后,需确认:
- 进程是否已终止(
ps aux | grep redis
无相关进程)。 - 数据文件(如
dump.rdb
、appendonly.aof
)是否正常生成,大小是否符合预期。 - 日志中是否有异常报错,便于后续排查。
Redis 的启停操作看似简单,但需结合场景选择合适的方式:开发环境可使用默认配置快速启动,生产环境务必通过配置文件精细化管理,停止时优先采用 SHUTDOWN
或 systemctl
确保数据安全,定期备份配置文件和数据文件,是保障 Redis 服务稳定运行的重要措施。
相关问答 FAQs
Q1: Redis 启动时报错 "Failed to allocate an object" 如何解决?
A: 此错误通常因 Redis 无法申请足够内存导致,可从两方面排查:
- 检查系统可用内存,使用
free -h
查看,若内存不足需释放资源或增加服务器内存; - 调整 Redis 配置中的
maxmemory
参数(限制 Redis 最大内存使用量)或maxmemory-policy
(设置内存淘汰策略),确保不超过系统可用内存的合理比例(如 70%)。
Q2: 如何让 Redis 开机自启动?
A: 在 Linux 系统中,可通过 systemd 实现开机自启动:
- 确保 Redis 服务已安装并启用(
systemctl enable redis
); - 检查
/etc/systemd/system/multi-user.target.wants/redis.service
是否为软链接到/usr/lib/systemd/system/redis.service
; - 执行
systemctl daemon-reload
重新加载配置后,重启服务器验证是否自动启动。
若为源码安装,可编写自定义服务单元文件(.service
)并放置于/etc/systemd/system/
目录,再执行上述步骤。