Skip to content

Redis 概览

Redis 概览

Redis(Remote Dictionary Server)是高性能内存数据结构存储,用作数据库、缓存、消息队列、分布式锁。

知识地图

数据结构

  • String / Hash / List / Set / Sorted Set
  • Bitmap / HyperLogLog / GEO / Stream
  • 内存编码(int / embstr / raw / quicklist / listpack)

持久化

  • RDB(快照)
  • AOF(追加日志)
  • 混合持久化(RDB + AOF)
  • 性能权衡

高可用

  • 主从复制
  • Sentinel(哨兵)
  • Cluster(集群,16384 slot 哈希分片)
  • Codis / RedisShake(迁移工具)

应用模式

  • 缓存(旁路 / 读写穿透 / 异步回写)
  • 分布式锁(SETNX / Redlock)
  • 限流(令牌桶 / 滑动窗口)
  • 排行榜(Sorted Set)
  • 消息队列(Stream / Pub-Sub)
  • 计数器 / 布隆过滤器

性能与运维

  • 内存淘汰策略(LRU / LFU / Random / TTL)
  • 慢查询分析
  • 大 Key / 热 Key 处理
  • Pipeline / Lua 脚本

待补内容

  • 各种数据结构的底层实现(ziplist / skiplist / dict)
  • Redlock 算法详解与争议
  • Cluster 扩容 / 缩容流程
  • 与 Memcached 对比

参考资料

  • 《Redis 设计与实现》
  • Redis 官方文档
  • 《Redis 深度历险:核心原理与应用实践》