如何使用Jedis大量插入命令



如果我创建了一个以redis协议格式的文件:

设置键0值
设置key1 value1
...
设置keyn valuen

我如何在应用程序中使用jedis将其馈送到Redis?

您可以使用管道。它允许在不等待单个响应的情况下发送多个命令,然后获得唯一的响应。您将通过此功能获得更好的性能(与基本实现相比,您可以期望X5)。

您的实现看起来像这样:

Pipeline p = jedis.pipelined();
for (int i=0; i < numberOfItems; i++) {
    p.set(key[i], value[i]); 
}   
List<Object> results = p.syncAndReturnAll();

edit

OP正在寻找从Tomcat运行的解决方案,稍后我发现。这里不建议使用RAW REDIS协议。使用Pascal的答案。

/edit

我同意帕斯卡(Pascal)的观点,即管道上是几乎最快的批量插入的好方法。但是,OP已经在谈论REDIS协议,该协议甚至比管道更快。

但是,不是是从redis客户端(例如jedis)使用的,但要与redis-cli一起在服务器上直接使用。

有关更多信息,请参见此处。

希望这会有所帮助,tw

最新更新