Ubuntu安装Redis并进行基础配置

Ubuntu 系统下 Redis 的详细安装与基础配置指南

Redis 是一款开源的、基于内存的高性能键值对数据库,以其卓越的性能、丰富的数据类型和灵活的应用场景,在众多项目中广受欢迎。本文将详细介绍在 Ubuntu 系统下安装 Redis 并进行基础配置的步骤,旨在帮助读者快速搭建并使用 Redis 服务。

一、安装 Redis

Ubuntu 提供了多种安装 Redis 的方式,这里我们介绍两种最常用的方法:使用 apt 包管理器安装和从源码编译安装。

1. 使用 apt 包管理器安装

这是最简单快捷的方式,适用于大多数用户。

(1) 更新 apt 软件包索引

首先,打开终端并更新系统的软件包索引:

bash
sudo apt update

(2) 安装 Redis 服务器

使用以下命令安装 Redis 服务器:

bash
sudo apt install redis-server

该命令会安装 Redis 服务器、客户端以及相关依赖。

(3) 验证安装

安装完成后,Redis 服务通常会自动启动。可以通过以下命令检查 Redis 服务的运行状态:

bash
sudo systemctl status redis-server

如果看到类似 active (running) 的输出,则表示 Redis 服务正在运行。

您还可以使用 Redis 客户端 redis-cli 连接到 Redis 服务器并执行简单的命令进行验证:

bash
redis-cli

进入 Redis 客户端命令行后,输入:

ping

如果服务器正常运行,将会返回 PONG

2. 从源码编译安装

对于需要特定版本或者需要自定义编译选项的用户,可以选择从源码编译安装。

(1) 安装编译所需依赖

首先,需要安装编译 Redis 所需的依赖:

bash
sudo apt update
sudo apt install build-essential tcl

(2) 下载 Redis 源码

前往 Redis 官方网站 https://redis.io/download/ 下载最新稳定版本的 Redis 源码包,例如 redis-6.2.6.tar.gz

您也可以使用 wget 命令直接在终端下载:

bash
wget https://download.redis.io/releases/redis-6.2.6.tar.gz

(3) 解压源码包

将下载的源码包解压到指定目录:

bash
tar xzf redis-6.2.6.tar.gz
cd redis-6.2.6

(4) 编译并安装

在 Redis 源码目录下执行 make 命令进行编译:

bash
make

编译完成后,可以选择运行测试以确保编译正确:

bash
make test

最后,执行以下命令将 Redis 安装到系统中:

bash
sudo make install

该命令会将 Redis 的可执行文件安装到 /usr/local/bin 目录下。

(5) 配置 Redis

为了方便管理 Redis 服务,我们需要创建配置文件和 systemd 服务文件。

创建配置文件目录:

bash
sudo mkdir /etc/redis

复制示例配置文件:

bash
sudo cp redis.conf /etc/redis/

创建数据目录并设置权限:

bash
sudo mkdir -p /var/lib/redis
sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis

(6) 创建 systemd 服务文件

创建一个名为 redis.service 的 systemd 服务文件:

bash
sudo nano /etc/systemd/system/redis.service

并在文件中添加以下内容(请根据实际情况修改 UserGroup):

```ini
[Unit]
Description=Redis In-Memory Data Structure 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
```

(7) 启动 Redis 服务

启用并启动 Redis 服务:

bash
sudo systemctl daemon-reload
sudo systemctl start redis
sudo systemctl enable redis

现在,您可以使用 sudo systemctl status redis 命令检查 Redis 服务的运行状态。

二、基础配置

安装完成后,我们需要对 Redis 进行一些基础配置以满足实际需求。Redis 的配置文件位于 /etc/redis/redis.conf(源码安装)或 /etc/redis/redis-server.conf (使用apt安装,建议做一个软连接到/etc/redis/redis.conf)。

以下是一些常用的配置项:

1. 绑定 IP 地址 (bind)

默认情况下,Redis 只监听本地回环地址(127.0.0.1),这意味着只能从本机访问 Redis。如果需要从其他机器访问,需要修改 bind 配置项。

例如,要允许所有 IP 地址访问,可以将其设置为:

bind 0.0.0.0

或者,可以指定特定的 IP 地址,例如:

bind 192.168.1.100

注意:bind 设置为 0.0.0.0 会使 Redis 暴露在公网上,请务必配置防火墙并设置密码以保证安全。

2. 监听端口 (port)

Redis 默认监听端口为 6379。如果需要更改端口,可以修改 port 配置项。

例如,将端口更改为 6380:

port 6380

3. 设置密码 (requirepass)

为了提高安全性,强烈建议设置 Redis 访问密码。

取消 requirepass 配置项的注释,并将其设置为您的密码:

requirepass your_strong_password

设置密码后,客户端连接 Redis 时需要使用 AUTH 命令进行身份验证:

redis-cli -h <host> -p <port> -a your_strong_password

4. 数据库数量 (databases)

Redis 默认支持 16 个数据库,编号从 0 到 15。可以通过 databases 配置项修改数据库数量。

例如,将数据库数量设置为 32:

databases 32

客户端可以使用 SELECT 命令切换数据库:

SELECT 1 # 切换到数据库 1

5. 最大内存限制 (maxmemory)

可以使用 maxmemory 配置项限制 Redis 使用的最大内存。当达到内存限制时,Redis 会根据 maxmemory-policy 配置的策略删除键。

例如,将最大内存限制设置为 2GB:

maxmemory 2gb

6. 内存淘汰策略 (maxmemory-policy)

maxmemory-policy 配置项用于指定当达到最大内存限制时,Redis 删除键的策略。常用的策略包括:

  • noeviction: 禁止删除键,达到内存限制后,写操作会返回错误。
  • allkeys-lru: 从所有键中删除最近最少使用的键。
  • volatile-lru: 从设置了过期时间的键中删除最近最少使用的键。
  • allkeys-random: 从所有键中随机删除键。
  • volatile-random: 从设置了过期时间的键中随机删除键。
  • volatile-ttl: 从设置了过期时间的键中删除即将过期的键。

例如,使用 allkeys-lru 策略:

maxmemory-policy allkeys-lru

7. 持久化配置

Redis 支持两种持久化方式:RDB 快照和 AOF 日志。

  • RDB (Redis Database): 在指定的时间间隔内将内存中的数据快照保存到磁盘。
  • AOF (Append Only File): 将每个写操作追加到日志文件中。

可以通过 saveappendonly 配置项配置持久化方式。

RDB 配置示例:

save 900 1 # 900 秒内至少有 1 个键被修改则保存
save 300 10 # 300 秒内至少有 10 个键被修改则保存
save 60 10000 # 60 秒内至少有 10000 个键被修改则保存

AOF 配置示例:

appendonly yes # 启用 AOF
appendfilename "appendonly.aof" # AOF 文件名
appendfsync everysec # 每秒同步一次

8. 修改完配置后重启 Redis 服务

修改完配置后,需要重启 Redis 服务使配置生效:

bash
sudo systemctl restart redis

或者
bash
sudo systemctl restart redis-server

三、总结

本文详细介绍了在 Ubuntu 系统下安装 Redis 的两种方法以及常用的基础配置。通过阅读本文,您应该能够成功安装 Redis 并根据自己的需求进行基本配置。建议根据实际业务场景,进一步了解 Redis 的高级特性和配置选项,以充分发挥 Redis 的性能优势。

希望这篇文章对您有所帮助!请记住,安全至关重要,请务必设置强密码并配置防火墙规则以保护您的 Redis 服务器。

THE END