Redis 基础(完整版)

---

一、Redis 简介

1.1 什么是 Redis

Redis(Remote Dictionary Server,远程数据服务)是一款开源的、基于内存的高性能键值对数据库,由意大利人 Salvatore Sanfilippo(网名 antirez)使用 C 语言开发。

核心特点:

特点说明
基于内存数据存储在 RAM 中,读写速度极快
键值对结构数据以 key => value 方式存储
丰富数据结构支持 string、list、hash、set、sorted set
可持久化支持 RDB 和 AOF 两种方式保存数据到磁盘
支持主从复制实现数据备份和读写分离

1.2 应用场景

场景数据类型说明
排行榜Sorted Set取 top N 操作,如微博热门话题
最新数据List获取最新 N 条数据或某分类最新数据
计数器String文章浏览量、点赞数等
共同好友Set社交网站获取共同好友(交集运算)
IP 黑白名单Set防攻击系统,判断 IP 是否在名单中
Session 存储String将用户会话信息存储到 Redis

1.3 官方资源

资源地址
官网https://redis.io
GitHubhttps://github.com/antirez/redis

---

二、安装 Redis

2.1 下载与编译安装

# 下载 Redis 安装包
wget https://download.redis.io/releases/redis-8.4.0.tar.gz

# 解压
# -z: gzip解压 -x: 解压 -v: 显示过程 -f: 指定文件
tar -zxvf redis-8.4.0.tar.gz

# 进入解压目录
cd redis-8.4.0

# 编译源代码
make

# 安装到指定目录
make PREFIX=/usr/local/redis install

命令作用:

执行结果:

关键参数:

注意事项:


**注意事项:**



---

"devops"

"devops"


---





---






"itheima"



"devops123"

"dev"
操作说明

使用方式:




**核心运算:**

| 运算 | 命令 | 说明 |
|---|---|---|
| 交集 | SINTER | 两个集合都有的元素(共同部分) |
| 并集 | SUNION | 两个集合合并的所有不重复元素 |
| 差集 | SDIFF | A 有但 B 没有的元素 |







| 特点 | 说明 |
|---|---|
| 元素唯一 | 不能有重复元素 |
| 权重排序 | 每个元素带分数,按分数排序 |
| 浮点数分数 | 分数可以是小数 |





"8"

"6"

"cndws"



| 场景 | 推荐类型 | 原因 |
|---|---|---|
| 数据之间关联度不大 | String | 分开存更简单 |
| 数据属于同一个对象 | Hash | 更紧凑,压缩比更高 |

---



持久化是将内存中的数据保存到磁盘,确保服务重启后数据不丢失。

| 存储方式 | 特点 |
|---|---|
| 内存(RAM) | 速度快,断电丢失 |
| 磁盘(硬盘) | 速度慢,断电不丢失 |



| 特点 | 说明 |
|---|---|
| 恢复速度快 | 直接加载一个文件 |
| 文件体积小 | 二进制压缩格式 |
| 数据丢失风险 | 最后一次快照之后的数据可能丢失 |

三个条件是"或"关系,满足任意一个就触发。

步骤说明

**注意事项:**



| 策略 | 说明 | 安全性 | 性能 |
|---|---|---|---|

文件说明
appendonly.aof.1.base.rdb基础文件(RDB 格式)
appendonly.aof.1.incr.aof增量文件(AOF 格式)
appendonly.aof.manifest清单文件
对比项RDBAOF
原理定时拍快照(全量)记录每条写命令(增量)
恢复速度快(直接加载一个文件)慢(要重放所有命令)
文件大小小(压缩的二进制)大(文本命令)
数据安全可能丢失几分钟数据最多丢1秒(everysec策略)
性能影响快照时 fork 子进程每次写都要记录

**混合模式工作方式:**




---




| 角色 | 职责 |
|---|---|



| 编号 | IP | 角色 |
|---|---|---|

注意事项:

:g/#/d

:g/^$/d

注意事项:



---



| 命令 | 说明 |
|---|---|


| 命令 | 说明 |
|---|---|


| 命令 | 说明 |
|---|---|


| 命令 | 说明 |
|---|---|


| 命令 | 说明 |
|---|---|


| 命令 | 说明 |
|---|---|


| 命令 | 说明 |
|---|---|


| 命令 | 说明 |
|---|---|