Redis 批量优化方法
适合的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
四种方案优缺点分析:
方案 | 优点 | 缺点 | 网络IO |
串行mget | 编程简单 少量keys满足需求 |
大量keys请求延迟严重 | O(keys) |
串行IO | 编程简单 少量节点满足需求 |
大量node延迟严重 | O(nodes) |
并行IO | 利用并行特性 延迟取决于最慢的节点 利用 |
编程复杂 超市定位问题难 |
O(max_slow(node)) |
hash_tag | 性能最高 | 读写增加tag维护成本 tag分布易出现数据倾斜 |
O(1) |
转载于:https://my.oschina.net/u/3777515/blog/1643487