使用存储库的Spring Data Redis批量存储太慢,如何通过管道传输存储库的存储

问题描述 投票:6回答:1

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

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

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

spring redis spring-data-redis
1个回答
0
投票

现在已经有好几天遇到同样的问题了,以为我只是分享自己为达到收支平衡所做的一切。

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

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

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

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

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

如果需要,我可以分享有关我的情况的代码段。

© www.soinside.com 2019 - 2024. All rights reserved.