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

Nag*_*LLA 5 spring redis spring-data-redis

我们使用Spring Data Redis Repositories(repository.save(List))在Redis中保存了25万个对象。它太慢了。大约需要30分钟。

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

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

Ken*_*ake 1

几天来一直遇到同样的问题,我以为我只是分享我为维持收支平衡所做的事情。

所以我放弃了@Repository通过 Redis Hash 将 DTO 保存在 Redis 上。

我被迫使用类似hSet管道内部的命令。

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

此外,Lettuce 在每次 Redis 命令后进行日志记录也会影响开发环境中的写入操作。

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

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