主题
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 redis4. 2 验证Redis安装
bash
redis --version预期输出:显示Redis的版本信息
5. Redis服务管理
5. 1 查看Redis状态
bash
systemctl status redis5. 2 启动Redis服务
bash
systemctl start redis5. 3 设置Redis开机自启
bash
systemctl enable redis5. 4 停止Redis服务
bash
systemctl stop redis5. 5 重启Redis服务
bash
systemctl restart redis状态)
6. 防火墙配置
6. 1 检查Redis端口
bash
# 检查6379端口是否被Redis占用
ss -anp | grep 6379预期输出:显示Redis进程正在监听6379端口
6. 2 配置防火墙规则
6. 2.1 方式一:关闭防火墙(仅适用于测试环境)
bash
# 停止防火墙服务
systemctl stop firewalld
# 禁用防火墙开机自启
systemctl disable firewalld6. 2.2 方式二:放行6379端口(适用于生产环境)
bash
# 放行Redis端口
firewall-cmd --permanent --add-port=6379/tcp
# 重新加载防火墙规则
firewall-cmd --reload7. Redis基本使用
7. 1 连接Redis
bash
# 连接本地Redis服务器
redis-cli7. 2 设置键值对
bash
# 设置一个名为mykey的键,值为hello
set mykey hello7. 3 获取键值
bash
# 获取mykey的值
get mykey7. 4 查看所有键
bash
# 查看当前数据库中的所有键
keys *7. 5 删除键
bash
# 删除mykey键
del mykey7. 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的安装和使用。
安装步骤:
dnf install -y epel-release- 安装EPEL仓库dnf install -y redis- 安装Redissystemctl start redis- 启动服务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配置文件。