列个TODO,等有时间了搞一下。 Codis设计之初是把redis当初数据库考虑的,而非单纯的缓存,所以是CP的系统。但是很多redis场景还是把它当初缓存,容忍数据不一致但需要可用性,并且很多时候主从显得比较浪费。所以可以类似Cassandra,在slot级别做一致性哈希,每个key所对应的slot都落在一致性哈希的环上的1-N个节点(取决于配置了几备份)。在手动增减节点时可以先进行迁移操作,以保证命中率不降;再有节点突然挂掉的时候自动failover到下一个节点,以保证可用性不降、命中率只下降1/n(n为实例个数)。