分布式数据库首先要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整体数据的一个子集。
如图10-1所示。
需要重点关注的是数据分区规则。常见的分区规则有哈希分区和顺序分区两种,表10-1对这两种分区规则进行了对比。
实现一个Redis Sentinel客户端的基本步骤如下:
理解Redis内存,首先需要掌握Redis内存消耗在哪些方面。
有些内存消耗是必不可少的,而有些可以通过参数调整和合理使用来规避内存浪费。
内存消耗可以分为进程自身消耗和子进程消耗。
Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的。
当Redis用于高并发场景时,这条线程就变成了它的生命线。如果出现阻塞,哪怕是很短时间,对于我们的应用来说都是噩梦。
导致阻塞问题的场景大致分为内在原因和外在原因: