2021-12-19 21:23:26
阿里Redis进阶秘籍以趣味化、结构化的方式梳理了Redis从基础到源码的核心知识,涵盖应用场景、数据结构、分布式方案、原理机制及底层实现等内容。以下为具体内容解析:

缓存:通过“Cache-Aside”模式减少数据库压力。
限流:利用计数器或令牌桶算法控制请求速率。
排行榜:基于有序集合(Sorted Set)实现实时排名。

字符串(String):支持动态扩容,最大存储512MB数据。
哈希(Hash):适合存储对象,如用户信息。
列表(List):双向链表实现,支持两端插入/删除。
集合(Set):无序且唯一,用于标签、好友关系等。
有序集合(Sorted Set):通过分数排序,支持范围查询。

SETNX + EXPIRE:原子性获取锁并设置过期时间,避免死锁。
RedLock算法:多节点投票机制提高可靠性。
锁的粒度需与业务匹配。
需处理锁超时与业务未完成的矛盾。



监控:实时检查主从节点状态。
故障转移:自动选举新主节点。
通知:通过API或脚本通知管理员。
至少3个Sentinel节点避免脑裂。
合理设置quorum和failover-timeout参数。

支持多消费者组(Consumer Group)。
消息持久化与回溯消费。
异步任务处理。
事件溯源(Event Sourcing)。

SDS(Simple Dynamic String):记录长度与剩余空间,支持O(1)获取长度。
编码优化:根据内容长度选择RAW、EMBSTR或INT编码。
len:已用字节数。
free:剩余可用字节数。
buf[]:实际字符数组。

完整笔记领取:点击文中链接获取全量内容,涵盖更多实战案例与代码示例。