跳转到内容

Redis在Linux系统上的安装和部署

课程介绍

接下来我们学习Redis数据库的安装部署。Redis是内存中的Key-Value数据库,读写速度非常快,常用于缓存、会话存储、计数器等场景。Rocky Linux 9可以先用dnf install -y epel-release配置EPEL仓库,然后直接用dnf install -y redis安装Redis。安装后用systemctl start redis启动服务,开放6379端口,就可以用redis-cli连接数据库进行基本的键值对操作。

1. Redis简介

1. 1 什么是Redis

Redis是一个开源的、使用C语言编写的支持网络交互、可基于内存也可持久化的Key-Value型数据库。

1. 2 Redis的主要特点

  • 速度快:基于内存存储数据,提供超低延迟和超快的检索速度
  • 支持持久化:可以将内存中的数据保存到磁盘
  • 支持多种数据结构:除了字符串,还支持哈希、列表、集合、有序集合等
  • 支持事务:提供事务处理能力
  • 支持主从复制:实现数据的备份和负载均衡
  • 支持分布式:可以部署为分布式系统

1. 3 Redis的应用场景

  • 数据缓存:提供快速的数据访问能力
  • 会话存储:存储用户会话信息
  • 消息队列:实现简单的消息发布订阅功能
  • 计数器:实现页面访问计数、点赞计数等
  • 排行榜:基于有序集合实现实时排行榜
  • 分布式锁:实现分布式系统中的资源锁定

2. 安装前准备

2. 1 系统环境

  • 操作系统:Rocky Linux 9
  • 权限要求:需要root权限

2. 2 EPEL仓库介绍

EPEL(Extra Packages for Enterprise Linux)是社区打造的为RHEL及其衍生版(如CentOS)提供高质量软件包的项目。安装EPEL后,相当于添加了一个包含大量软件的第三方仓库。

2. 3 安装方式

  • 使用dnf命令安装
  • 需要先安装EPEL仓库

3. 配置EPEL仓库

3. 1 安装EPEL仓库

bash
dnf install -y epel-release

说明:安装EPEL仓库后,系统将获得更多高质量的软件包支持

3. 2 更新仓库缓存

bash
dnf update -y

说明:更新仓库缓存以确保能获取到最新的软件包信息


4. 安装Redis

4. 1 安装Redis

bash
dnf install -y redis

4. 2 验证Redis安装

bash
redis --version

预期输出:显示Redis的版本信息


5. Redis服务管理

5. 1 查看Redis状态

bash
systemctl status redis

5. 2 启动Redis服务

bash
systemctl start redis

5. 3 设置Redis开机自启

bash
systemctl enable redis

5. 4 停止Redis服务

bash
systemctl stop redis

5. 5 重启Redis服务

bash
systemctl restart redis

![Redis服务状态](screenshot:执行systemctl status redis命令后的输出,显示active (running)状态)


6. 防火墙配置

6. 1 检查Redis端口

bash
# 检查6379端口是否被Redis占用
ss -anp | grep 6379

预期输出:显示Redis进程正在监听6379端口

6. 2 配置防火墙规则

6. 2.1 方式一:关闭防火墙(仅适用于测试环境)

bash
# 停止防火墙服务
systemctl stop firewalld

# 禁用防火墙开机自启
systemctl disable firewalld

6. 2.2 方式二:放行6379端口(适用于生产环境)

bash
# 放行Redis端口
firewall-cmd --permanent --add-port=6379/tcp

# 重新加载防火墙规则
firewall-cmd --reload

7. Redis基本使用

7. 1 连接Redis

bash
# 连接本地Redis服务器
redis-cli

7. 2 设置键值对

bash
# 设置一个名为mykey的键,值为hello
set mykey hello

7. 3 获取键值

bash
# 获取mykey的值
get mykey

7. 4 查看所有键

bash
# 查看当前数据库中的所有键
keys *

7. 5 删除键

bash
# 删除mykey键
del mykey

7. 6 退出Redis客户端

bash
# 使用Ctrl + D或输入exit退出
Ctrl + D

特性Redis传统关系型数据库(如MySQL)
存储方式主要基于内存主要基于磁盘
数据结构多种数据结构(字符串、哈希、列表等)主要是表结构
速度非常快相对较慢
事务支持支持简单事务支持完整事务
持久化支持(RDB、AOF)支持
应用场景缓存、会话存储、计数器等业务数据存储、复杂查询等

8. 常见问题与解决方案

问题现象可能原因解决方案
dnf安装Redis失败EPEL仓库未正确安装重新安装EPEL仓库并更新缓存
Redis无法启动端口被占用或配置错误使用lsof -i:6379检查端口占用,查看错误日志/var/log/redis/redis.log
无法连接Redis防火墙限制或服务未启动配置防火墙规则或重启Redis服务
Redis连接后无法执行命令权限配置错误检查Redis配置文件中的访问控制设置

课程总结

这节课我们学了Redis的安装和使用。

安装步骤:

  1. dnf install -y epel-release - 安装EPEL仓库
  2. dnf install -y redis - 安装Redis
  3. systemctl start redis - 启动服务
  4. systemctl enable redis - 开机自启

基本使用: redis-cli - 连接Redis命令行 SET key value - 设置键值 GET key - 获取值

Redis是高性能的键值对数据库,默认监听6379端口,常用于缓存和消息队列。

课后练习

练习1(基础)

请在Linux终端中执行以下操作:

  • 使用dnf命令安装EPEL仓库
  • 安装Redis软件包
  • 启动Redis服务并查看状态
  • 使用redis-cli连接到Redis服务器
  • 设置一个键值对,然后获取验证

💡 提示:使用dnf install -y epel-release安装EPEL仓库,使用systemctl start redis启动服务。

练习2(进阶)

请尝试:

  • 设置Redis开机自启
  • 使用Redis存储不同类型的数据(字符串、哈希、列表等)
  • 查看Redis中的所有键
  • 测试Redis的过期时间设置

💡 提示:使用systemctl enable redis设置开机自启,使用setex key 10 value设置10秒过期。

练习3(拓展)

请尝试:

  • 配置防火墙,开放Redis的6379端口
  • 测试从另一台机器连接Redis服务器
  • 了解Redis的持久化配置(RDB和AOF)
  • 尝试配置Redis的主从复制

💡 提示:使用firewall-cmd --permanent --add-port=6379/tcp开放端口,修改redis.conf配置文件。

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径