一、codis相关信息
1.什么是codis
codis是由豌豆荚中间件团队使用Go语言开发,它是一个代理中间件,和redis一样也使用redis协议对外提供服务,当客户端向codis发送指令时,codis负责将指令转发到后面的redis实例来执行,并将返回结果再转回给客户端。codis上挂接的所有redis实例构成一个redis集群,当集群空间不足时,可以通过动态增加redis来实现扩容需求。
2.使用codis的意义
在大数据高并发的场景下,单个的redis实例往往会受到内存和cpu利用率等的限制.单个的redis的内存不宜过大,否则就会导致rdb文件过大,进一步导致主从同步时全量同步时间过长,在实例重启恢复时也会消耗很长的数据加载时间,特别是在云环境下,单个实例只能利用单个核心,这单个核心要完成海量的数据存取和管理时工作压力会非常大。于是,redis集群方案应运而生。它可以将众多小内存的redis实例综合起来,将分布在多台机器上的众多cpu细心的计算能力聚集到一起,完成海量的数据存储和高并发操作。Codis就是redis集群的方案之一。