Redis——Remote Dictionary Server,开源、基于内存、速度快、key-value...
Redis做为一个高性能的键值存储系统,广泛应用于缓存、会话存储、分布式锁以及其他需要快速访问的数据场景中。熟悉掌握redis,似乎已成为广大码农们必备的一项技能。
下面是我的一个redis的学习计划,开启我的redis学习之旅~
一、基础数据类型
- 深入学习 Redis 的五种基本数据类型:字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)。
- 掌握每种数据类型的基本操作命令,例如:
- 字符串:SET、GET、INCR、DECR 等。
- 哈希:HSET、HGET、HGETALL 等。
- 列表:LPUSH、RPUSH、LPOP、RPOP、LRANGE 等。
- 集合:SADD、SMEMBERS、SINTER、SUNION 等。
- 有序集合:ZADD、ZRANGE、ZRANK 等。
二、持久化机制
- 学习 Redis 的两种持久化方式:RDB(快照)和 AOF(追加文件)。
- 理解 RDB 持久化的原理、优缺点以及如何配置和触发 RDB 快照。
- 掌握 AOF 持久化的工作方式、重写机制以及与 RDB 的区别和选择策略。
- 进行持久化相关的实验,例如设置不同的持久化配置参数,观察数据在不同情况下的持久化效果,并了解如何从持久化文件中恢复数据。
三、高级功能与配置
目标:深入理解Redis的高级功能,如事务、发布/订阅、Lua脚本等,以及优化Redis性能。
- 事务
- MULTI, EXEC, DISCARD, WATCH命令
- 事务的ACID特性(在Redis中的体现)
- 发布/订阅
- PUBLISH, SUBSCRIBE, UNSUBSCRIBE命令
- 使用Pub/Sub实现消息传递
- Lua脚本
- Lua语言基础
- 在Redis中运行Lua脚本(EVAL, EVALSHA)
- Lua脚本的优势和应用场景
- 复制与高可用性
- 主从复制
- Sentinel(哨兵)监控与自动故障转移
- 性能优化
- 内存管理
- 网络优化
- 配置文件调优
-
分布式锁
-
位图
-
HyperLogLog
-
布隆过滤器
-
限流
-
简单限流
-
漏斗限流 Redis-Cell
-
-
GeoHash
-
Scan
四、进阶学习
- 线程IO模型
- 压缩列表、快速列表、跳跃列表、基数树
- epoll/select/kqueue
- 通信协议
- 持久化
- 小对象压缩
- 集群、主从同步、哨兵(sentinel)
- stream
- 过期策略
五、巩固+复习
用常见面试题去检阅已学知识点。