即使使用了sentry,redis的每个实例都是满存储,每个redis中存储的内容都是完整的数据,浪费内存,有桶装效应。为了最大限度地利用内存,我们可以使用集群,即分布式存储。也就是说,每个redis存储不同的内容,总共有16384个插槽。每个redis得到一些slot,hash_uslot=crc16(key)mod16384找到对应的slot,key是availablekey,如果有{},则取{}作为availablekey,否则整个key是availablekey,集群至少需要3个master和3个slave,每个实例使用不同的配置文件,master和slave不需要要进行配置,集群将自行选择。因此,这仍然是必要的,因为redis集群将内容存储到每个节点,sentinel的角色是监视redis主、从数据库是否正常运行。如果主数据库出现故障,它会自动将从数据库转换为主数据库。