最初,当我使用1个JedisPool与Redis服务器(在服务器上运行的redis的单个实例)进行通信时,我看到我的200K查询需要15秒才能完成。对于我执行的每个查询:
Jedis jedis = pool.getResource();
Pipeline p = jedis.pipelined();
p.multi();
for (String ViewId : ViewIds) {
for (Article aR : view.getEntriesList()) {
p.rpush(ViewId, <article-in-json>);
}
p.ltrim(ViewId, -10, -1);
}
p.exec();
p.sync();
pool.returnResource(jedis);
JedisPool使用:
创建JedisPool pool = new JedisPool(new JedisPoolConfig(), getHostName(), getPort(), 0, "foobared");
然而,当我使用8个JedisPools到同一个服务器(相同的redis实例)并以循环方式使用它时,我看到在大约8-10秒内处理了200K查询(之前使用1个JedisPool花了15秒)= &GT;相当大的改进。
这是什么原因?我们应该使用的JedisPools的最佳数量是多少?