Redis批量优化方法

152 阅读1分钟

适合的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/…

www.pianshen.com/images/38/3…
www.pianshen.com/images/743/…
www.pianshen.com/images/301/…
四种方案优缺点分析:

方案 优点 缺点 网络IO 串行mget 编程简单

少量keys满足需求 大量keys请求延迟严重 O(keys) 串行IO 编程简单

少量节点满足需求 大量node延迟严重 O(nodes) 并行IO 利用并行特性

延迟取决于最慢的节点

利用

编程复杂

超市定位问题难 O(max_slow(node)) hash_tag 性能最高 读写增加tag维护成本

tag分布易出现数据倾斜 O(1)