新浪微博的 Redis 实践,蛮值得一看。高并发下的用户关系、实时计数器这些典型场景,都用得挺巧。像好友关注这种高频操作,他们用的是 Redis 的Hash结构,查粉丝、加关注都能迅速响应,MySQL 真扛不住这么搞。
微博点赞、评论的实时计数,他们也搬到了 Redis 里,用incr
、hincrby
做增量更新,既快又稳。像“小黄签”的提醒功能,还用到了Set和Sorted Set,查新粉、新@那叫一个顺畅。
数据一致性也考虑得比较周全。比如微博总数这些数字,他们会定时从 Redis 同步回 MySQL,既保证了快,也不丢数据。还有AOF/RDB的持久化策略、Sentinel做高可用,这些方案都提到了,算是把 Redis 玩明白了。
不过他们也遇到坑,像内存太紧、数据同步延迟这些,都是靠经验踩出来的。是调整hash-max-ziplist-entries
这种参数,蛮细节,但挺关键。
如果你在搞高并发的社交类应用,或者想优化系统响应速度,这篇文章还挺有启发。哦对了,文末还附了几个相关实践链接,感兴趣的可以一起翻翻。