文章目录
-
- [第一部分:安装 Redis](#第一部分:安装 Redis)
- 第二部分:基本配置
- [第三部分:使用 Redis](#第三部分:使用 Redis)
-
- [1. 连接 Redis 服务器](#1. 连接 Redis 服务器)
- [2. 基本命令示例](#2. 基本命令示例)
- [3. 数据持久化检查](#3. 数据持久化检查)
- 第四部分:安全与防火墙
- 总结
我们将从最基础的编译安装开始,并涵盖使用包管理器安装以及基本配置和使用。
第一部分:安装 Redis
有两种主流方式:使用包管理器(简单快捷)和手动编译安装(能获取最新版本)。
方法一:使用包管理器安装(推荐新手)
这是最简单、最快速的方法,适合绝大多数情况。
在 Ubuntu/Debian 上:
-
更新软件包列表:
bashsudo apt update
-
安装 Redis:
bashsudo apt install redis-server
-
安装完成后,Redis 服务会自动启动。 你可以通过以下命令检查状态:
bashsudo systemctl status redis-server
如果看到
active (running)
表示安装成功且服务已启动。
在 CentOS/RHEL/Fedora 上:
-
首先启用 EPEL 仓库(对于 RHEL/CentOS):
bash# 对于 CentOS/RHEL sudo yum install epel-release # 或者对于新版本的 CentOS/RHEL sudo dnf install epel-release
-
安装 Redis:
bash# 使用 yum (旧版本) sudo yum install redis # 或使用 dnf (新版本) sudo dnf install redis
-
启动并启用 Redis 服务(开机自启):
bashsudo systemctl start redis sudo systemctl enable redis
-
检查状态:
bashsudo systemctl status redis
方法二:手动编译安装(获取最新版本)
当包管理器提供的版本过旧时,可以使用此方法。
-
安装编译依赖:
bash# Ubuntu/Debian sudo apt update sudo apt install build-essential tcl # CentOS/RHEL sudo yum groupinstall "Development Tools" sudo yum install tcl
-
下载并解压 Redis 源码:
访问 Redis.io 获取最新稳定版链接。
bash# 进入临时目录 cd /tmp # 下载 (请将 7.2.4 替换为最新版本号) wget https://download.redis.io/releases/redis-7.2.4.tar.gz # 解压 tar -xzvf redis-7.2.4.tar.gz # 进入解压后的目录 cd redis-7.2.4
-
编译和安装:
bash# 编译 make # 测试编译结果(可选,但推荐) make test # 安装到系统目录(默认是 /usr/local/bin) sudo make install
-
创建配置和运行目录(推荐):
bash# 创建配置目录 sudo mkdir /etc/redis # 创建数据目录 sudo mkdir /var/lib/redis # 将源码包中的示例配置文件复制到 /etc/redis sudo cp /tmp/redis-7.2.4/redis.conf /etc/redis/
-
以服务方式运行(Systemd):
-
创建一个 systemd 服务文件:
bashsudo vim /etc/systemd/system/redis.service
-
将以下内容粘贴到文件中:
ini[Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target
-
创建一个专用的 Redis 用户和组,并设置目录权限:
bashsudo adduser --system --group --no-create-home redis sudo chown redis:redis /var/lib/redis sudo chmod 770 /var/lib/redis
-
重新加载 systemd 并启动服务:
bashsudo systemctl daemon-reload sudo systemctl start redis sudo systemctl enable redis sudo systemctl status redis
-
第二部分:基本配置
Redis 的主要配置文件是 /etc/redis/redis.conf
(包管理器安装)或 /etc/redis/redis.conf
(手动安装)。
常用配置项修改:
-
绑定 IP: 默认只允许本地连接。要允许远程连接,需要修改:
bashsudo vim /etc/redis/redis.conf
找到
bind
指令:bind 127.0.0.1 -::1
表示只允许本地连接。- 将其注释掉
# bind 127.0.0.1 -::1
或改为bind 0.0.0.0
即可允许任何 IP 连接。(警告:生产环境这样做需配合防火墙或密码认证!)
-
设置密码: 增加安全性。
在配置文件中找到
# requirepass foobared
这一行,取消注释并将foobared
改为你的强密码。requirepass your_strong_password_here
-
守护进程模式: 确保 Redis 在后台运行。
确保
daemonize
设置为yes
。daemonize yes
-
数据持久化: Redis 提供了 RDB 快照和 AOF 日志两种方式。默认 RDB 已开启。你可以在配置文件中调整
save
规则或开启 AOF:appendonly yes
-
配置目录: 确保持久化文件存放在正确目录。
dir /var/lib/redis
每次修改配置文件后,都需要重启 Redis 服务才能生效:
bash
# 包管理器安装
sudo systemctl restart redis-server # Ubuntu/Debian
sudo systemctl restart redis # CentOS/RHEL
# 手动安装
sudo systemctl restart redis
第三部分:使用 Redis
1. 连接 Redis 服务器
本地连接(无密码):
bash
redis-cli
你会看到提示符变成 127.0.0.1:6379>
。
本地连接(有密码):
bash
redis-cli
# 连接后使用 AUTH 命令认证
127.0.0.1:6379> AUTH your_password
OK
或者一步到位:
bash
redis-cli -a your_password
远程连接:
bash
redis-cli -h remote_host_ip -p port -a your_password
2. 基本命令示例
在 redis-cli
交互界面中,可以执行以下命令进行测试:
-
PING: 测试连接是否正常。
127.0.0.1:6379> PING PONG
-
设置和获取键值对:
127.0.0.1:6379> SET mykey "Hello, Redis!" OK 127.0.0.1:6379> GET mykey "Hello, Redis!"
-
检查键是否存在:
127.0.0.1:6379> EXISTS mykey (integer) 1 # 表示存在
-
设置过期时间:
127.0.0.1:6379> SET session:user123 "some_data" EX 3600 # 3600秒后过期 OK
-
使用列表:
127.0.0.1:6379> LPUSH mylist "world" (integer) 1 127.0.0.1:6379> LPUSH mylist "hello" (integer) 2 127.0.0.1:6379> LRANGE mylist 0 -1 1) "hello" 2) "world"
-
使用集合:
127.0.0.1:6379> SADD myset "apple" (integer) 1 127.0.0.1:6379> SADD myset "banana" (integer) 1 127.0.0.1:6379> SMEMBERS myset 1) "banana" 2) "apple"
-
查看信息:
127.0.0.1:6379> INFO keyspace # 查看数据库键空间信息 127.0.0.1:6379> INFO server # 查看服务器信息
-
关闭 Redis 服务器:
127.0.0.1:6379> SHUTDOWN
3. 数据持久化检查
Redis 的数据文件(dump.rdb
或 appendonly.aof
)会保存在配置中 dir
指定的目录(如 /var/lib/redis
)。
bash
sudo ls -l /var/lib/redis/
第四部分:安全与防火墙
-
配置防火墙: 如果开启了远程访问,务必使用防火墙限制访问 IP。
bash# Ubuntu/Debian (使用 ufw) sudo ufw allow from your_trusted_ip to any port 6379 sudo ufw enable # CentOS/RHEL (使用 firewalld) sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="your_trusted_ip" port protocol="tcp" port="6379" accept' sudo firewall-cmd --reload
-
使用强密码: 这是最基本的安全措施。
-
重命名危险命令: 在生产环境中,可以考虑在
redis.conf
中重命名或禁用如FLUSHALL
、CONFIG
等危险命令。rename-command FLUSHALL "" rename-command CONFIG ""
总结
通过以上步骤,你应该已经成功在 Linux 上安装、配置并运行了 Redis,并学会了基本操作。对于生产环境,请务必仔细阅读官方文档并加强安全配置。