08-27-周三_17-09-29
This commit is contained in:
410
数据库/Redis_2025/redis_tpl.md
Normal file
410
数据库/Redis_2025/redis_tpl.md
Normal file
@@ -0,0 +1,410 @@
|
||||
# Redis 基础概念
|
||||
|
||||
## NoSQL 数据库概述
|
||||
|
||||
- NoSQL 数据库的特点和分类
|
||||
- 关系型数据库 vs NoSQL 数据库
|
||||
- NoSQL 数据库的应用场景
|
||||
|
||||
## Redis 简介
|
||||
|
||||
- Redis 的定义和特点
|
||||
- Redis 的数据结构
|
||||
- Redis 的应用场景
|
||||
- Redis 的优势和局限性
|
||||
|
||||
## Redis 架构
|
||||
|
||||
- Redis 的内存模型
|
||||
- Redis 的单线程模型
|
||||
- Redis 的事件驱动机制
|
||||
|
||||
## 实践操作
|
||||
- 了解 NoSQL 数据库的分类和特点
|
||||
- 分析 Redis 在不同场景下的应用优势
|
||||
|
||||
---
|
||||
|
||||
# Redis 环境搭建
|
||||
|
||||
## Redis 安装
|
||||
|
||||
- Linux 环境下的安装
|
||||
|
||||
## Redis 配置
|
||||
|
||||
- 配置文件详解
|
||||
- 常用配置参数
|
||||
- 安全配置
|
||||
- 性能调优配置
|
||||
|
||||
## Redis 启动和连接
|
||||
- Redis 服务启动
|
||||
- Redis 客户端连接
|
||||
- 远程连接配置
|
||||
- 连接池配置
|
||||
|
||||
## 实践操作
|
||||
- 在本地环境安装 Redis
|
||||
- 配置 Redis 服务
|
||||
- 使用客户端连接 Redis
|
||||
|
||||
---
|
||||
|
||||
# Redis 数据类型
|
||||
|
||||
## 字符串 (String)
|
||||
- 字符串的特点和应用
|
||||
- 基本操作命令
|
||||
- 数值操作
|
||||
- 位操作
|
||||
|
||||
## 列表 (List)
|
||||
- 列表的特点和应用
|
||||
- 基本操作命令
|
||||
- 阻塞操作
|
||||
- 列表的应用场景
|
||||
|
||||
## 集合 (Set)
|
||||
- 集合的特点和应用
|
||||
- 基本操作命令
|
||||
- 集合运算
|
||||
- 随机操作
|
||||
|
||||
## 有序集合 (Sorted Set)
|
||||
- 有序集合的特点和应用
|
||||
- 基本操作命令
|
||||
- 范围操作
|
||||
- 排行榜应用
|
||||
|
||||
## 哈希 (Hash)
|
||||
- 哈希的特点和应用
|
||||
- 基本操作命令
|
||||
- 批量操作
|
||||
- 对象存储应用
|
||||
|
||||
## 实践操作
|
||||
- 使用不同数据类型存储数据
|
||||
- 实现简单的缓存功能
|
||||
- 构建用户信息存储系统
|
||||
|
||||
---
|
||||
|
||||
# Redis 基本命令
|
||||
|
||||
## 键操作命令
|
||||
- 键的命名规范
|
||||
- 键的查询和遍历
|
||||
- 键的过期设置
|
||||
- 键的删除和重命名
|
||||
|
||||
## 数据库操作
|
||||
- 多数据库概念
|
||||
- 数据库切换
|
||||
- 数据库清空
|
||||
- 数据库信息查看
|
||||
|
||||
## 事务操作
|
||||
- 事务的概念
|
||||
- MULTI/EXEC 命令
|
||||
- WATCH 命令
|
||||
- 事务的特性和限制
|
||||
|
||||
## 脚本操作
|
||||
- Lua 脚本简介
|
||||
- EVAL 和 EVALSHA 命令
|
||||
- 脚本缓存
|
||||
- 脚本的应用场景
|
||||
|
||||
## 实践操作
|
||||
- 管理 Redis 键空间
|
||||
- 使用事务保证操作原子性
|
||||
- 编写简单的 Lua 脚本
|
||||
|
||||
---
|
||||
|
||||
# Redis 持久化
|
||||
|
||||
## RDB 持久化
|
||||
- RDB 的工作原理
|
||||
- RDB 配置参数
|
||||
- 手动触发 RDB
|
||||
- RDB 文件的恢复
|
||||
|
||||
## AOF 持久化
|
||||
- AOF 的工作原理
|
||||
- AOF 配置参数
|
||||
- AOF 重写机制
|
||||
- AOF 文件的恢复
|
||||
|
||||
## 混合持久化
|
||||
- 混合持久化的优势
|
||||
- 配置混合持久化
|
||||
- 数据恢复策略
|
||||
|
||||
## 持久化策略选择
|
||||
- RDB vs AOF 对比
|
||||
- 不同场景下的选择
|
||||
- 性能影响分析
|
||||
|
||||
## 实践操作
|
||||
- 配置 RDB 持久化
|
||||
- 配置 AOF 持久化
|
||||
- 测试数据恢复功能
|
||||
|
||||
---
|
||||
|
||||
# Redis 主从复制
|
||||
|
||||
## 主从复制概述
|
||||
- 主从复制的概念
|
||||
- 主从复制的优势
|
||||
- 复制的工作原理
|
||||
|
||||
## 主从复制配置
|
||||
- 主服务器配置
|
||||
- 从服务器配置
|
||||
- 复制参数调优
|
||||
|
||||
## 复制的特性
|
||||
- 异步复制
|
||||
- 部分重同步
|
||||
- 无磁盘复制
|
||||
- 复制偏移量
|
||||
|
||||
## 主从切换
|
||||
- 手动主从切换
|
||||
- 故障处理
|
||||
- 数据一致性
|
||||
|
||||
## 实践操作
|
||||
- 搭建主从复制环境
|
||||
- 测试数据同步
|
||||
- 模拟故障切换
|
||||
|
||||
---
|
||||
|
||||
# Redis 哨兵模式
|
||||
|
||||
## 哨兵模式概述
|
||||
- 哨兵的作用
|
||||
- 哨兵的工作原理
|
||||
- 哨兵集群的优势
|
||||
|
||||
## 哨兵配置
|
||||
- 哨兵配置文件
|
||||
- 监控配置
|
||||
- 故障转移配置
|
||||
- 通知配置
|
||||
|
||||
## 故障检测和转移
|
||||
- 主观下线和客观下线
|
||||
- 故障转移流程
|
||||
- 新主服务器选举
|
||||
- 配置传播
|
||||
|
||||
## 哨兵集群管理
|
||||
- 哨兵节点管理
|
||||
- 配置更新
|
||||
- 监控和日志
|
||||
|
||||
## 实践操作
|
||||
- 部署哨兵集群
|
||||
- 配置故障转移
|
||||
- 测试高可用性
|
||||
|
||||
---
|
||||
|
||||
# Redis 集群
|
||||
|
||||
## 集群概述
|
||||
- 集群的概念和优势
|
||||
- 集群 vs 主从复制
|
||||
- 集群的适用场景
|
||||
|
||||
## 集群架构
|
||||
- 槽位分配机制
|
||||
- 节点通信协议
|
||||
- 集群拓扑结构
|
||||
|
||||
## 集群搭建
|
||||
- 集群节点配置
|
||||
- 集群初始化
|
||||
- 节点加入和移除
|
||||
- 槽位迁移
|
||||
|
||||
## 集群管理
|
||||
- 集群状态监控
|
||||
- 故障检测和恢复
|
||||
- 集群扩容和缩容
|
||||
- 数据迁移
|
||||
|
||||
## 实践操作
|
||||
- 搭建 Redis 集群
|
||||
- 测试数据分片
|
||||
- 进行集群扩容
|
||||
|
||||
---
|
||||
|
||||
# Redis 性能优化
|
||||
|
||||
## 性能监控
|
||||
- 性能指标分析
|
||||
- 监控工具使用
|
||||
- 慢查询日志
|
||||
- 内存使用分析
|
||||
|
||||
## 内存优化
|
||||
- 内存使用策略
|
||||
- 数据结构优化
|
||||
- 过期策略配置
|
||||
- 内存碎片处理
|
||||
|
||||
## 网络优化
|
||||
- 连接池配置
|
||||
- 管道技术
|
||||
- 批量操作
|
||||
- 网络延迟优化
|
||||
|
||||
## 配置优化
|
||||
- 核心参数调优
|
||||
- 持久化优化
|
||||
- 复制优化
|
||||
- 系统级优化
|
||||
|
||||
## 实践操作
|
||||
- 监控 Redis 性能
|
||||
- 优化内存使用
|
||||
- 测试性能提升效果
|
||||
|
||||
---
|
||||
|
||||
# Redis 安全管理
|
||||
|
||||
## 访问控制
|
||||
- 密码认证
|
||||
- 用户管理 (ACL)
|
||||
- 权限控制
|
||||
- IP 白名单
|
||||
|
||||
## 网络安全
|
||||
- 端口安全
|
||||
- SSL/TLS 加密
|
||||
- 防火墙配置
|
||||
- VPN 访问
|
||||
|
||||
## 数据安全
|
||||
- 数据加密
|
||||
- 敏感数据处理
|
||||
- 备份安全
|
||||
- 审计日志
|
||||
|
||||
## 安全最佳实践
|
||||
- 安全配置检查
|
||||
- 漏洞防护
|
||||
- 安全更新
|
||||
- 应急响应
|
||||
|
||||
## 实践操作
|
||||
- 配置访问控制
|
||||
- 启用 SSL 加密
|
||||
- 实施安全策略
|
||||
|
||||
---
|
||||
|
||||
# Redis 应用实战
|
||||
|
||||
## 缓存应用
|
||||
- 缓存策略
|
||||
- 缓存穿透、击穿、雪崩
|
||||
- 缓存更新策略
|
||||
- 分布式缓存
|
||||
|
||||
## 会话管理
|
||||
- 会话存储
|
||||
- 分布式会话
|
||||
- 会话过期处理
|
||||
- 安全考虑
|
||||
|
||||
## 消息队列
|
||||
- 发布订阅模式
|
||||
- 消息队列实现
|
||||
- 延时队列
|
||||
- 可靠性保证
|
||||
|
||||
## 排行榜系统
|
||||
- 实时排行榜
|
||||
- 历史排行榜
|
||||
- 分页查询
|
||||
- 性能优化
|
||||
|
||||
## 分布式锁
|
||||
- 锁的实现原理
|
||||
- 锁的获取和释放
|
||||
- 锁的超时处理
|
||||
- 可重入锁
|
||||
|
||||
## 实践操作
|
||||
- 构建缓存系统
|
||||
- 实现会话管理
|
||||
- 开发消息队列
|
||||
- 创建排行榜功能
|
||||
- 实现分布式锁
|
||||
|
||||
---
|
||||
|
||||
# Redis 运维管理
|
||||
|
||||
## 备份和恢复
|
||||
- 备份策略
|
||||
- 自动备份
|
||||
- 数据恢复
|
||||
- 灾难恢复
|
||||
|
||||
## 监控和告警
|
||||
- 监控指标
|
||||
- 告警规则
|
||||
- 监控工具
|
||||
- 性能分析
|
||||
|
||||
## 日志管理
|
||||
- 日志配置
|
||||
- 日志分析
|
||||
- 问题排查
|
||||
- 日志轮转
|
||||
|
||||
## 版本升级
|
||||
- 升级策略
|
||||
- 兼容性检查
|
||||
- 滚动升级
|
||||
- 回滚方案
|
||||
|
||||
## 实践操作
|
||||
- 制定备份策略
|
||||
- 配置监控系统
|
||||
- 进行版本升级
|
||||
|
||||
---
|
||||
|
||||
# Redis 生态工具
|
||||
|
||||
## 客户端工具
|
||||
- Redis CLI
|
||||
- 图形化管理工具
|
||||
- 编程语言客户端
|
||||
- 连接池工具
|
||||
|
||||
## 集群管理工具
|
||||
- Redis Cluster Manager
|
||||
- 第三方集群工具
|
||||
- 自动化部署工具
|
||||
|
||||
## 监控工具
|
||||
- Redis Monitor
|
||||
- Prometheus + Grafana
|
||||
- 第三方监控方案
|
||||
|
||||
## 实践操作
|
||||
- 使用管理工具
|
||||
- 集成开发框架
|
||||
- 配置监控方案
|
Reference in New Issue
Block a user