13、GEO是什么?你好,我是蒋德钧。 在[第2讲]中,我们学习了Redis的5大基本数据类型:String、List、Hash、Set和Sorted Set,它们可以满足大多数的数据存储需求,但是在面对海量数据统计时,它们的内存开销很大,而且对于一些特殊的场景,它们是...2025-10-18Redis核心技术与实战
12、如何统计一亿个keys?你好,我是蒋德钧。 在Web和移动应用的业务场景中,我们经常需要保存这样一种信息:一个key对应了一个数据集合。我举几个例子。 手机App中的每天的用户登录信息:一天对应一系列用户ID或移动设备ID; 电商网站上商品的用户评论列表:一个商品对应了一...2025-10-18Redis核心技术与实战
11、“万金油”的String不好用了?你好,我是蒋德钧。 从今天开始,我们就要进入“实践篇”了。接下来,我们会用5节课的时间学习“数据结构”。我会介绍节省内存开销以及保存和统计海量数据的数据类型及其底层数据结构,还会围绕典型的应用场景(例如地址位置查询、时间序列数据库读写和消息队列存取)...2025-10-18Redis核心技术与实战
10、第1~9讲思考题答案及答疑你好,我是蒋德钧。 咱们的课程已经更新9讲了,这段时间,我收到了很多留言。很多同学都认真地回答了课后思考题,有些回答甚至可以说是标准答案。另外,还有很多同学针对Redis的基本原理和关键机制,提出了非常好的问题,值得好好讨论一下。 今天,我就和你聊一...2025-10-18Redis核心技术与实战
9、数据增多,加内存还是加实例你好,我是蒋德钧。今天我们来学习切片集群。 我曾遇到过这么一个需求:要用Redis保存5000万个键值对,每个键值对大约是512B,为了能快速部署并对外提供服务,我们采用云主机来运行Redis实例,那么,该如何选择云主机的内存容量呢? 我粗略地计算了...2025-10-18Redis核心技术与实战
8、哨兵挂了,主从库还能切换吗你好,我是蒋德钧。 上节课,我们学习了哨兵机制,它可以实现主从库的自动切换。通过部署多个实例,就形成了一个哨兵集群。哨兵集群中的多个实例共同判断,可以降低对主库下线的误判率。 但是,我们还是要考虑一个问题:如果有哨兵实例在运行时发生了故障,主从库还能...2025-10-18Redis核心技术与实战
7、主库挂了,如何不间断服务你好,我是蒋德钧。 上节课,我们学习了主从库集群模式。在这个模式下,如果从库发生故障了,客户端可以继续向主库或其他从库发送请求,进行相关的操作,但是如果主库发生故障了,那就直接会影响到从库的同步,因为从库没有相应的主库可以进行数据复制操作了。 而且,...2025-10-18Redis核心技术与实战
6、主从库如何实现数据一致你好,我是蒋德钧。 前两节课,我们学习了AOF和RDB,如果Redis发生了宕机,它们可以分别通过回放日志和重新读入RDB文件的方式恢复数据,从而保证尽量少丢失数据,提升可靠性。 不过,即使用了这两种方法,也依然存在服务不可用的问题。比如说,我们在实...2025-10-17Redis核心技术与实战
5、宕机后,如何实现快速恢复你好,我是蒋德钧。 上节课,我们学习了Redis避免数据丢失的AOF方法。这个方法的好处,是每次执行只需要记录操作命令,需要持久化的数据量不大。一般而言,只要你采用的不是always的持久化策略,就不会对性能造成太大影响。 但是,也正因为记录的是操作...2025-10-17Redis核心技术与实战
4、宕机了,如何避免数据丢失你好,我是蒋德钧。 如果有人问你:“你会把Redis用在什么业务场景下?”我想你大概率会说:“我会把它当作缓存使用,因为它把后端数据库中的数据存储在内存中,然后直接从内存中读取数据,响应速度会非常快。”没错,这确实是Redis的一个普遍使用场景,但是...2025-10-17Redis核心技术与实战