适合的maxTotal
1、业务希望Redis并发量
2、客户端执行命令时间
3、Redis资料:例如nodes(例如应用个数)*maxTotal是不能超过redis的最大连接数。(config get maxclients)
4、资源开销:例如虽然希望控制空闲连接,但是不希望因为连接池的频繁释放创建连接造成不必要开销。
优化IO的几种方法
1、命令本身优化:例如慢查询的keys、hgetall bigkey
2、减少网络通信次数
3、降低接入成本:例如客户端长连接/连接池、NIO等
四种批量优化的方法
1、串行mget
2、串行IO
3、并行IO
4、hash_tag www.pianshen.com/images/249/…




方案 优点 缺点 网络IO 串行mget 编程简单
少量keys满足需求 大量keys请求延迟严重 O(keys) 串行IO 编程简单
少量节点满足需求 大量node延迟严重 O(nodes) 并行IO 利用并行特性
延迟取决于最慢的节点
利用
编程复杂
超市定位问题难 O(max_slow(node)) hash_tag 性能最高 读写增加tag维护成本
tag分布易出现数据倾斜 O(1)