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
- 過期策略
五、鞏固+復習
用常見面試題去檢閱已學知識點。