如果我以Redis协议格式创建包含以下命令的文件:
SET Key0 Value0
SET Key1 Value1
...
SET KeyN ValueN
如何在我的应用程序中使用Jedis将其提供给Redis?
答案 0 :(得分:4)
您可以使用流水线技术。它允许发送多个命令而无需等待单个响应,然后获得唯一的响应。使用此功能可以获得更好的性能(与基本实现相比,您可以期待x5)。
您的实施可能如下所示:
Pipeline p = jedis.pipelined();
for (int i=0; i < numberOfItems; i++) {
p.set(key[i], value[i]);
}
List<Object> results = p.syncAndReturnAll();
答案 1 :(得分:0)
修改强>
OP正在寻找从Tomcat运行的解决方案,我后来发现了。此处不建议使用原始Redis协议。使用Pascal的答案。
<强> /修改
我同意Pascal的观点,即流水线操作是一种几乎最快的大规模插入的好方法。 但是,OP已经在谈论Redis协议,它甚至比流水线技术更快。
然而,不意味着从Redis客户端(如Jedis)使用,但意味着直接在服务器上使用,与redis-cli一起使用。
有关详细信息,请参阅here。
希望这有帮助,TW