我们正在使用Spring Data Redis存储库(repository.save(List))在Redis中保存250k对象。它太慢了。大约需要30分钟。
我正在使用带有管道的redisTemplate来保存250k个具有与存储库相同的redis数据结构的对象(例如使用hmset来存储对象,难于存储密钥。以便我们可以使用存储库来检索对象)save,设法在150中保存了250k秒。
我们如何使用带管道的存储库保存对象?这样我就不需要手动做hmset,sadd之类的事情(这是内部的,当存储库将数据保存在redis中时)
现在已经有好几天遇到同样的问题了,以为我只是分享自己为达到收支平衡所做的一切。
所以我放弃了使用@Repository
通过Redis哈希将我的DTO保存在Redis上。
我有点被迫在管道内部使用诸如hSet
之类的命令。
到目前为止,您无法使用@Repository
接口进行批量保存+管道。
此外,Lettuce在Redis命令之后的记录也会影响在dev环境上的写入操作。
尝试关闭io.lettuce.core
DEBUG
日志,然后查看操作是否加快。
如果需要,我可以分享有关我的情况的代码段。