文章目录
-
- [Redis 安装与启动:快速搭建你的第一个 Redis 环境](#Redis 安装与启动:快速搭建你的第一个 Redis 环境)
- 一、前言
- [二、为什么要在 Linux 上安装](#二、为什么要在 Linux 上安装)
- [三、CentOS 安装 Redis](#三、CentOS 安装 Redis)
-
- [3.1 CentOS 8 安装(推荐)](#3.1 CentOS 8 安装(推荐))
- [3.2 CentOS 7 安装](#3.2 CentOS 7 安装)
- [四、Ubuntu 安装 Redis](#四、Ubuntu 安装 Redis)
- 五、配置远程连接
-
- [5.1 找到配置文件](#5.1 找到配置文件)
- [5.2 修改两个关键配置项](#5.2 修改两个关键配置项)
-
- [第一处:修改 bind 地址](#第一处:修改 bind 地址)
- 第二处:关闭保护模式
- [5.3 CentOS 7 额外的配置步骤](#5.3 CentOS 7 额外的配置步骤)
- [六、启动与停止 Redis](#六、启动与停止 Redis)
-
- [6.1 CentOS 8 / Ubuntu:使用 systemd 管理](#6.1 CentOS 8 / Ubuntu:使用 systemd 管理)
- [6.2 CentOS 7:手动启动](#6.2 CentOS 7:手动启动)
- [七、Redis 的重要文件和目录](#七、Redis 的重要文件和目录)
-
- [7.1 可执行程序](#7.1 可执行程序)
- [7.2 配置文件](#7.2 配置文件)
- [7.3 持久化文件目录](#7.3 持久化文件目录)
- [7.4 日志文件目录](#7.4 日志文件目录)
- [八、用 redis-cli 连接并发出第一条命令](#八、用 redis-cli 连接并发出第一条命令)
- 九、总结
-
- [9.1 常用命令速查](#9.1 常用命令速查)
Redis 安装与启动:快速搭建你的第一个 Redis 环境
一、前言
💬 这一篇讲什么:在 Linux 上安装 Redis,配置好远程连接,并用 redis-cli 发出第一条命令
🚀 核心内容:
- 为什么选择在 Linux 上安装 Redis?
- CentOS 7 / CentOS 8 / Ubuntu 三种环境下的安装步骤
- Redis 的重要文件和目录都是干什么的?
- 如何用 redis-cli 连接并操作 Redis?
上一篇认识了 Redis 的特性和应用场景,这一篇动手把环境搭起来。工欲善其事,必先利其器------后续所有的学习都依赖一个跑起来的 Redis 实例。
二、为什么要在 Linux 上安装
Redis 官方不支持 Windows 操作系统。这是有充分的技术原因:Redis 的很多核心特性(比如 fork 实现 RDB 快照、epoll 实现 IO 多路复用)都深度依赖 Linux 系统调用,移植到 Windows 上需要付出极大的维护成本,而且性能表现和稳定性都无法保证。
虽然微软在 GitHub 上维护了一个 Windows 移植版本,但功能和原版相差较大,不建议用来学习。
结论:老老实实在 Linux 上装。 如果你用的是 Windows 开发机,可以开一台 Linux 虚拟机(VMware / VirtualBox),或者直接用云服务器(阿里云、腾讯云都有学生优惠),效果是一样的。
本教程选择安装 Redis 5.0 版本。原因是 5.0 已经支持了绝大多数核心功能特性,而且相比 7.0 安装更简单,适合入门学习。
三、CentOS 安装 Redis
3.1 CentOS 8 安装(推荐)
CentOS 8 的官方仓库中已经包含了 Redis 5.0,安装非常简单,一条命令搞定:
bash
[root@host ~]# yum install -y redis
安装完成后,输出最后一行应该显示 Complete!。
设置开机自启动
bash
[root@host ~]# systemctl enable redis
执行后会看到类似这样的输出,说明已经创建了 systemd 服务链接:
bash
Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service.
3.2 CentOS 7 安装
CentOS 7 官方仓库里没有直接包含 Redis,需要先安装 SCL(Software Collections)源,再从里面安装:
bash
# 第一步:安装 SCL 源
yum install centos-release-scl-rh
# 第二步:安装 Redis
yum install rh-redis5-redis
CentOS 7 安装完之后,Redis 的可执行文件藏在 /opt/rh/rh-redis5/root/usr/bin/ 这个很深的目录里,每次使用都要打一长串路径,非常不方便。我们通过符号链接 把它们映射到 /usr/bin/ 下:
bash
# 进入 /usr/bin 目录
cd /usr/bin
# 创建符号链接
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli
同样,把配置文件目录也做一个符号链接,方便后续访问:
bash
cd /etc/
ln -s /etc/opt/rh/rh-redis5/ ./redis
四、Ubuntu 安装 Redis
Ubuntu 的安装是三种系统里最简单的,一条命令搞定:
bash
sudo apt update
sudo apt install redis-server -y
等待安装完成即可,Ubuntu 会自动把 Redis 注册为系统服务。
五、配置远程连接
安装完成后,默认情况下 Redis 只允许本机(127.0.0.1)连接。如果你是在云服务器上安装 Redis,想从自己的开发机远程连接,就必须修改配置文件开放远程访问。
5.1 找到配置文件
CentOS 8 :配置文件位于 /etc/redis.conf
CentOS 7 (做了符号链接之后):/etc/redis/redis.conf
Ubuntu :配置文件位于 /etc/redis/redis.conf
5.2 修改两个关键配置项
用任意文本编辑器(vim、nano 都行)打开配置文件,找到并修改以下两处:
第一处:修改 bind 地址
找到这一行:
bash
bind 127.0.0.1
将其改为:
bash
bind 0.0.0.0
0.0.0.0 表示监听所有网络接口,允许任意 IP 连接。
第二处:关闭保护模式
找到这一行:
bash
protected-mode yes
将其改为:
bash
protected-mode no
保护模式开启时,Redis 会拒绝来自非本机的连接请求,我们关掉它以允许远程访问。
注意 :在生产环境中开放远程访问,一定要同时配置防火墙规则和 Redis 访问密码(通过
requirepass配置项),否则 Redis 实例会完全暴露在公网上,存在安全风险。学习环境下可以先忽略这点。
5.3 CentOS 7 额外的配置步骤
CentOS 7 安装的 Redis 还需要做一些额外配置,让它能后台运行并正确记录日志。
启动守护进程
在配置文件中找到:
bash
daemonize no
改为:
bash
daemonize yes
这样 Redis 启动后会在后台运行,不会占用当前终端。
设置工作目录
先创建工作目录:
bash
mkdir -p /var/lib/redis
然后在配置文件中设置:
bash
dir /var/lib/redis
Redis 的持久化文件(RDB、AOF)会保存在这个目录下。
设置日志目录
先创建日志目录:
bash
mkdir -p /var/log/redis/
然后在配置文件中设置:
bash
logfile /var/log/redis/redis-server.log
六、启动与停止 Redis
6.1 CentOS 8 / Ubuntu:使用 systemd 管理
CentOS 8 和 Ubuntu 都通过 systemd 统一管理服务,推荐用这种方式操作 Redis,比直接跑命令更规范。
CentOS 8:
bash
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
Ubuntu:
bash
# 启动
service redis-server start
# 停止
service redis-server stop
# 重启
service redis-server restart
启动之后,验证 Redis 是否正在监听 6379 端口:
bash
netstat -nlpt | grep 6379
输出如下说明启动成功:
bash
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 31000/redis-server
6.2 CentOS 7:手动启动
bash
# 启动(指定配置文件)
redis-server /etc/redis/redis.conf
停止时,先查看进程 ID,再 kill 掉:
bash
# 查看 redis 进程
ps aux | grep redis
# 杀掉进程(替换成实际的进程 ID)
kill 进程ID
七、Redis 的重要文件和目录
安装完 Redis 之后,有几个重要的文件和目录需要了解,后续学习中会频繁和它们打交道。
7.1 可执行程序
Redis 安装后会在 /usr/bin/ 下提供以下几个可执行文件:
| 文件 | 作用 |
|---|---|
redis-server |
Redis 服务端主程序,启动 Redis 实例 |
redis-cli |
命令行客户端,学习阶段最常用的工具 |
redis-sentinel |
哨兵程序(软链接指向 redis-server) |
redis-check-aof |
AOF 文件修复工具(软链接指向 redis-server) |
redis-check-rdb |
RDB 文件修复工具(软链接指向 redis-server) |
redis-benchmark |
性能基准测试工具,用于压测 Redis |
redis-shutdown |
专用停止脚本 |
可以看到,除了 redis-cli 和 redis-benchmark,其余几个程序本质上都是 redis-server 的软链接,通过不同的命令名触发不同的启动模式。
7.2 配置文件
| 文件 | 作用 |
|---|---|
/etc/redis.conf 或 /etc/redis/redis.conf |
Redis 服务器的主配置文件,控制 Redis 的所有行为 |
/etc/redis-sentinel.conf |
Redis 哨兵的配置文件,讲哨兵章节时会用到 |
7.3 持久化文件目录
bash
/var/lib/redis/
Redis 持久化产生的 RDB 快照文件(.rdb)和 AOF 日志文件(.aof)默认保存在这个目录下。后续讲持久化的时候,可以直接来这里观察文件的变化。
7.4 日志文件目录
bash
/var/log/redis/
Redis 运行期间产生的日志文件保存在这里,默认按天分割,较旧的日志文件会用 gzip 压缩存储。后续很多章节会通过日志来观察 Redis 的内部行为,比如主从复制时的同步过程、持久化触发时机等。
八、用 redis-cli 连接并发出第一条命令
Redis 跑起来了,接下来用 redis-cli 连上去,发出我们的第一条命令。
8.1 两种使用方式
redis-cli 有两种使用方式:
方式一:交互式
连接到 Redis 后进入交互模式,后续所有命令直接输入,不需要每次都带上 redis-cli:
bash
redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
ping 命令是 Redis 的"心跳"命令,返回 PONG 说明连接正常,Redis 运行一切正常。
方式二:单命令模式
直接在命令行里执行单条 Redis 命令,得到结果后退出:
bash
[root@host ~]# redis-cli -h 127.0.0.1 -p 6379 ping
PONG
[root@host ~]# redis-cli -h 127.0.0.1 -p 6379 set mykey hello
OK
[root@host ~]# redis-cli -h 127.0.0.1 -p 6379 get mykey
"hello"
这种方式适合在脚本里调用 Redis 命令。
8.2 连接本机时可以省略参数
由于 Redis 默认监听 127.0.0.1:6379,如果是连接本机的 Redis,-h 和 -p 参数可以直接省略:
bash
redis-cli
127.0.0.1:6379> ping
PONG
效果完全一样。后续的讲解中,我们基本都用这种简写方式。
8.3 客户端与服务端的交互过程
理解 redis-cli 和 Redis 服务端之间的关系很重要:
text
[Redis 客户端 redis-cli]
│
│ 1. 发送命令(通过 TCP 网络)
↓
[Redis 服务端 redis-server]
│
│ 2. 执行命令
│ 3. 返回结果
↓
[Redis 客户端 redis-cli]
│
│ 4. 显示结果给用户
客户端和服务端之间通过 RESP(Redis Serialization Protocol) 协议通信,这是 Redis 自己定义的一套简单高效的文本协议。我们平时用 redis-cli 的时候完全感知不到这一层,但理解这个结构有助于后续理解 Redis 的网络模型。
九、总结
现在你已经掌握了:
✅ 为什么用 Linux:Redis 深度依赖 Linux 系统特性,官方不支持 Windows
✅ 三种系统的安装方式:CentOS 8(yum 一键安装)、CentOS 7(SCL 源 + 符号链接)、Ubuntu(apt 一键安装)
✅ 关键配置修改 :bind 0.0.0.0 + protected-mode no 开放远程连接
✅ 启动与停止:systemd 管理(CentOS 8 / Ubuntu)或手动启动(CentOS 7)
✅ 重要文件和目录 :可执行程序在 /usr/bin/,配置文件在 /etc/redis/,持久化文件在 /var/lib/redis/,日志在 /var/log/redis/
✅ redis-cli 基本使用 :交互式和单命令两种模式,ping 命令验证连通性
9.1 常用命令速查
| 操作 | CentOS 8 | Ubuntu |
|---|---|---|
| 启动 Redis | systemctl start redis |
service redis-server start |
| 停止 Redis | systemctl stop redis |
service redis-server stop |
| 重启 Redis | systemctl restart redis |
service redis-server restart |
| 开机自启 | systemctl enable redis |
安装后自动配置 |
| 连接客户端 | redis-cli |
redis-cli |
| 验证连通 | redis-cli ping |
redis-cli ping |
下一篇预告:Redis 基础命令与数据类型入门 ------ 全局命令详解、数据结构与内部编码概览、单线程架构原理,以及 String 类型的全部命令和典型使用场景。