Ubuntu 上 Redis 安装和使用详细指南(新手友好版)
大家好~ 今天给大家带来一篇 Ubuntu 系统下 Redis 的完整安装、配置与使用指南,不管你是刚接触 Linux 的新手,还是需要快速部署 Redis 的开发者,这篇文章都能帮你少走弯路,从头到尾搞定 Redis 环境搭建和基础使用。
先简单介绍下 Redis:Redis(Remote Dictionary Server)是一款开源、高性能的基于内存的键值对数据库,支持字符串、哈希、列表、集合等多种数据结构,常被用作缓存、消息中间件和分布式锁,性能优异,广泛应用于现代 Web 应用中,是后端开发必备的工具之一✨
本文适配 Ubuntu 20.04 / 22.04 / 24.04 LTS 版本(最常用的稳定版),涵盖 3种安装方式(APT 仓库安装、官方源安装、Docker 安装),以及配置优化、服务管理、基础命令、常见问题排查,全程图文式步骤,跟着操作就能成功。
一、前置准备
在安装任何软件前,建议先更新系统软件包索引,确保获取最新的版本和安全补丁,避免安装过程中出现依赖冲突。
打开 Ubuntu 终端(快捷键 Ctrl+Alt+T),执行以下命令:
bash
# 更新软件包索引
sudo apt update
# 可选:升级已安装的软件包(推荐执行,提升系统稳定性)
sudo apt upgrade -y
提示:输入命令后需要输入当前用户的密码(输入时不显示明文,正常输入即可),确认权限后等待执行完成。
二、Redis 安装(3种方式,按需选择)
推荐新手优先选择 方式1(APT 仓库安装),最简单快捷;需要最新版本 Redis 选择方式2;开发/测试环境推荐方式3(Docker 安装),隔离性好,卸载方便。
方式1:APT 仓库安装(最推荐,新手首选)
Ubuntu 官方仓库中已包含 Redis 稳定版(通常为 Redis 6 或 7 版本),无需额外配置,直接通过 apt 命令即可完成安装,且安装后会自动配置服务、设置开机自启。
-
执行安装命令:
sudo apt install redis-server -y"-y" 参数表示自动确认安装,无需手动输入 y 确认,节省操作步骤。 -
安装完成后,检查 Redis 服务状态,确认是否正常启动:
sudo systemctl status redis-server如果输出中出现active (running),说明 Redis 已成功启动(如下所示),恭喜你,安装第一步完成!● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2026-03-13 17:00:00 CST; 1min ago Main PID: 1234 (redis-server) Tasks: 4 (limit: 4915) Memory: 2.1M CGroup: /system.slice/redis-server.service └─1234 /usr/bin/redis-server 127.0.0.1:6379
方式2:官方源安装(获取最新稳定版)
如果官方仓库的 Redis 版本较低,需要安装最新稳定版(如 Redis 8.x),可以通过 Redis 官方提供的源进行安装,步骤如下:
-
安装依赖工具(用于添加官方源和验证密钥):
sudo apt install lsb-release curl gpg -y -
导入 Redis 官方 GPG 密钥(用于验证软件包完整性):
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg -
添加 Redis 官方源到系统软件源列表:
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list -
更新软件包索引,安装 Redis:
sudo apt update sudo apt install redis -y -
验证安装和启动状态(同方式1,执行
sudo systemctl status redis,确认显示 active (running))。
方式3:Docker 安装(开发/测试环境首选)
如果你的环境已安装 Docker,推荐使用 Docker 安装 Redis,无需担心依赖冲突,且可以快速启停、删除容器,适合临时测试或多版本切换。
- 确保 Docker 已安装(若未安装,执行以下命令快速安装):
`sudo apt install docker.io -y
启动 Docker 服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker`
-
拉取 Redis 官方镜像(默认拉取最新稳定版):
docker pull redis -
启动 Redis 容器(映射端口、设置密码,避免暴露无密码 Redis):
# 启动容器,映射本地 6379 端口到容器 6379 端口,设置密码为 MyRedisPass123!@# docker run -d -p 6379:6379 --name redis-demo redis --requirepass "MyRedisPass123!@#"参数说明:-
-d:后台运行容器
-
-p 6379:6379:端口映射,本地端口:容器端口(Redis 默认端口为 6379)
-
--name redis-demo:给容器命名,方便后续管理
-
--requirepass "xxx":设置 Redis 访问密码,提升安全性
-
-
验证容器是否启动成功:
docker ps如果输出中包含 redis-demo 容器,且 STATUS 为 Up,说明启动成功。
三、Redis 基础配置(必做优化,提升安全性和稳定性)
安装完成后,默认配置可能无法满足生产或日常使用需求(如无密码、仅本地访问、内存无限制等),需要对 Redis 配置文件进行简单优化,以下是核心配置项修改(以 APT 安装为例,配置文件路径为 /etc/redis/redis.conf)。
1. 备份配置文件(重要!)
修改配置前,建议先备份原配置文件,避免误操作导致 Redis 无法启动:
bash
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
后续如果配置出错,可通过以下命令恢复备份:
bash
sudo cp /etc/redis/redis.conf.bak /etc/redis/redis.conf
2. 编辑配置文件
使用文本编辑器打开配置文件,推荐使用 nano(简单易操作)或 vim:
bash
# 使用 nano 编辑(若未安装 nano,执行 sudo apt install nano -y)
sudo nano /etc/redis/redis.conf
打开后,通过方向键导航,找到以下配置项并修改(按 Ctrl+W 可搜索关键词,快速定位)。
3. 核心配置项修改(重点)
-
设置 Redis 与 systemd 集成(便于服务管理)
找到
supervised指令,将其修改为:supervised systemd作用:让 Redis 与 Ubuntu 系统的 systemd 服务管理器集成,方便通过 systemctl 命令管理(如重启、停止、查看日志)。 -
设置访问密码(强烈推荐,防止未授权访问)
找到
requirepass指令(默认被注释,前面有 #),取消注释并设置强密码:requirepass MyRedisPass123!@#注意:密码建议包含大小写字母、数字和特殊符号,避免简单密码(如 123456),防止被暴力破解。 -
限制内存使用(避免内存溢出)
找到
maxmemory指令(默认被注释),取消注释并设置最大内存(根据自身服务器内存调整,如 1GB):maxmemory 1gb同时设置内存淘汰策略(内存满时自动删除过期/不常用的键),找到maxmemory-policy,修改为:maxmemory-policy allkeys-lru作用:当 Redis 内存达到上限时,优先删除最近最少使用(LRU)的键,保证服务正常运行。 -
(可选)允许远程访问(谨慎操作!)
默认情况下,Redis 只监听本地 IP(127.0.0.1),仅限本机访问。如果需要远程连接(如其他服务器访问),需修改绑定 IP:找到
bind 127.0.0.1 ::1,修改为:# bind 127.0.0.1 ::1注释掉该行,表示监听所有网络接口(允许所有 IP 访问)。⚠️ 警告:开放远程访问后,务必设置强密码,并配置防火墙限制访问 IP,否则可能被恶意攻击! -
(可选)启用 AOF 持久化(提升数据安全性)
Redis 默认启用 RDB 持久化(定时快照),但 AOF 持久化(追加日志)更安全,可避免数据丢失。找到以下配置项,修改为:`appendonly yes
appendfilename "appendonly.aof"
每秒同步一次(推荐,平衡性能和安全性)
appendfsync everysec`
4. 保存配置并重启 Redis 服务
修改完成后,按 Ctrl+O 保存文件,按 Ctrl+X 退出 nano 编辑器。
重启 Redis 服务,使配置生效:
bash
sudo systemctl restart redis-server
再次检查服务状态,确认重启成功:
bash
sudo systemctl status redis-server
四、Redis 基础使用(命令行操作,新手必学)
Redis 提供了命令行客户端 redis-cli,可直接在终端操作 Redis,以下是最常用的命令,覆盖连接、键值操作、数据结构等核心场景。
1. 连接 Redis 服务
-
本地连接(未设置密码):
redis-cli执行后,进入 Redis 交互模式,提示符为127.0.0.1:6379>。 -
本地连接(已设置密码):
`# 方式1:先连接,再认证
redis-cli
127.0.0.1:6379> auth MyRedisPass123!@# # 输入设置的密码,返回 OK 表示认证成功
方式2:连接时直接认证(不推荐,密码会暴露在历史记录中)
redis-cli -a MyRedisPass123!@#`
- Docker 容器内连接:
# 进入 Redis 容器,直接连接客户端(已包含密码认证) docker exec -it redis-demo redis-cli -a MyRedisPass123!@#
2. 基础测试命令
连接成功后,先执行 ping 命令,测试 Redis 服务是否正常响应:
bash
127.0.0.1:6379> ping
PONG
返回 PONG,说明连接正常,Redis 服务运行正常。
3. 核心命令操作(重点)
Redis 支持多种数据结构,以下是最常用的命令,结合示例说明,新手可直接复制执行。
(1)键(Key)管理命令
bash
# 查看所有键(生产环境慎用,数据量大时会卡顿)
keys *
# 判断键是否存在(返回 1 存在,0 不存在)
exists name
# 查看键的剩余生存时间(ttl: time to live,单位秒)
# 返回 -1:永不过期;-2:键不存在;正数:剩余秒数
ttl name
# 设置键的过期时间(单位秒,如 30 秒后过期)
expire name 30
# 删除指定键(可删除多个,用空格分隔)
del name age
# 查看键的数据类型
type name
(2)字符串(String)操作(最常用)
字符串是 Redis 最基础的数据类型,可存储字符串、数字、二进制数据,适合缓存用户信息、验证码、计数器等场景。
bash
# 设置键值对(覆盖已有键)
set name "Redis is awesome!"
# 获取键值
get name
# 批量设置键值对
mset age 20 gender male
# 批量获取键值
mget name age
# 数字自增 1(适合计数器,如文章阅读量)
incr count
# 数字自减 1
decr count
# 原子性设置值 + 过期时间(如 60 秒有效,适合验证码)
setex code 60 123456
(3)哈希(Hash)操作(适合存储对象)
哈希适合存储结构化数据(如用户、商品信息),相当于"键值对中的键值对",支持单独修改某个字段,无需整体更新。
bash
# 设置哈希字段值(如存储用户信息,key 为 user:1001)
hset user:1001 name 张三 age 20
# 获取哈希指定字段值
hget user:1001 name
# 批量获取哈希字段值
hmget user:1001 name age
# 获取哈希所有字段和值
hgetall user:1001
# 删除哈希指定字段
hdel user:1001 age
(4)其他常用命令
bash
# 切换数据库(Redis 默认有 16 个数据库,下标 0-15)
select 1 # 切换到 1 号数据库
# 查看当前数据库中键的数量
dbsize
# 清空当前数据库所有数据(谨慎使用!)
flushdb
# 清空所有数据库数据(危险!生产环境禁止使用)
flushall
# 退出 Redis 客户端
exit 或 quit
五、Redis 服务管理(常用命令)
通过 systemctl 命令可快速管理 Redis 服务(启动、停止、重启、设置开机自启等),适用于 APT 或官方源安装的 Redis。
bash
# 启动 Redis 服务
sudo systemctl start redis-server
# 停止 Redis 服务
sudo systemctl stop redis-server
# 重启 Redis 服务(修改配置后必须执行)
sudo systemctl restart redis-server
# 查看 Redis 服务状态
sudo systemctl status redis-server
# 设置 Redis 开机自启(默认已开启,可重新确认)
sudo systemctl enable redis-server
# 取消 Redis 开机自启
sudo systemctl disable redis-server
# 查看 Redis 服务日志(排查故障用)
sudo journalctl -u redis-server
六、常见问题排查(新手必看)
安装或使用过程中遇到问题,可参考以下排查方法,快速解决。
问题1:Redis 服务启动失败
症状:执行 sudo systemctl status redis-server 显示 failed。
解决方法:
-
查看日志,定位错误原因:
sudo journalctl -u redis-server -
常见原因及解决:
-
配置文件错误:恢复备份的配置文件,重新修改(参考第三步)。
-
端口被占用:查看 6379 端口是否被其他程序占用,关闭占用程序或修改 Redis 端口(在 redis.conf 中修改
port配置)。`# 查看 6379 端口占用情况
sudo lsof -i:6379
关闭占用进程(替换 1234 为进程 ID)
sudo kill -9 1234`
- 权限不足:确保 Redis 数据目录(/var/lib/redis)的权限正确,执行以下命令修复:
sudo chown -R redis:redis /var/lib/redis
-
问题2:无法远程连接 Redis
症状:远程客户端无法连接 Ubuntu 上的 Redis,提示"Connection refused"。
解决方法:
-
确认 Redis 配置中已注释
bind 127.0.0.1 ::1(参考第三步)。 -
确认 Redis 已设置密码,远程连接时需输入密码。
-
开放 Ubuntu 防火墙 6379 端口(允许远程访问):
`# 开放 6379 端口(永久生效)
sudo ufw allow 6379
启用防火墙(若未启用)
sudo ufw enable
查看防火墙规则
sudo ufw status`
问题3:Redis 密码忘记
解决方法:
-
停止 Redis 服务:
sudo systemctl stop redis-server -
编辑配置文件,注释掉
requirepass行(取消密码验证)。 -
重启 Redis 服务,无密码连接:
sudo systemctl restart redis-server redis-cli -
重新设置密码(无需重启服务):
127.0.0.1:6379> config set requirepass 新密码 -
编辑配置文件,重新添加
requirepass 新密码,保存并重启服务(确保密码永久生效)。
七、总结
到这里,Ubuntu 上 Redis 的安装、配置、基础使用就全部讲解完成了。总结一下核心要点:
-
新手优先用 APT 安装,简单快捷;需要最新版本用官方源;开发测试用 Docker 安装。
-
配置优化重点:设置强密码、限制内存使用、按需开启远程访问和 AOF 持久化。
-
常用命令:记住 ping、set、get、hset、hget 等核心命令,满足日常使用需求。
-
遇到问题先看日志,大部分故障都是配置错误或权限、端口问题导致的。