使用多个JedisPools

时间:2012-08-17 10:42:24

标签: redis jedis

最初,当我使用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的最佳数量是多少?

0 个答案:

没有答案