如果我创建了一个以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