使用存储库的Spring Data Redis批量保存太慢,如何管道存储库保存

时间:2018-06-22 08:11:28

标签: spring redis spring-data-redis

我们正在使用Spring Data Redis存储库(repository.save(List))在Redis中保存250k对象。 它太慢了。大约需要30分钟。

我正在使用带有管道的redisTemplate来保存250k个具有与存储库相同的redis数据结构的对象(例如使用hmset来存储对象,难于存储键。以便我们可以使用存储库来检索对象)save,设法在其中保存了250k 150秒。

我们如何使用带管道的存储库保存对象?这样我就不需要手动做hmset,sadd之类的事情(这是内部的,当存储库将数据保存在redis中时)

1 个答案:

答案 0 :(得分:0)

几天来遇到了同样的问题,以为我只是分享自己为达到收支平衡所做的事情。

所以我放弃了使用@Repository通过Redis哈希将我的DTO保存在Redis上。

我被迫在管道内部使用诸如hSet之类的命令。

到目前为止,您无法使用@Repository接口执行批量保存+管道。

此外,在Redis命令执行后,Lettuce的日志记录也会影响在dev环境上的写入操作。

尝试关闭io.lettuce.core DEBUG日志,看看操作是否加快。

如果需要,我可以根据自己的情况分享一个代码段。