簡體   English   中英

Spring Data Redis 批量保存使用存儲庫太慢,如何管道存儲庫保存

[英]Spring Data Redis bulk save using repository too slow, how to pipeline repository saves

我們正在使用 Spring Data Redis Repositories (repository.save(List)) 在 Redis 中保存 250k 個對象。 它太慢了。 大約需要 30 分鍾。

我正在使用帶有管道的 redisTemplate 來保存 250k 個具有與存儲庫相同的 redis 數據結構的對象(例如使用 hmset 存儲對象,sadd to 存儲密鑰。以便我們可以使用存儲庫檢索對象)保存,設法在 150 秒內保存了 250k。

我們如何使用帶有管道的存儲庫保存來保存對象? 這樣我就不需要手動執行 hmset、sadd 之類的操作(這是存儲庫在 redis 中保存數據時內部發生的事情)

幾天來一直有同樣的問題,我想我只是分享我為維持生計所做的事情。

所以我放棄了使用@Repository通過 Redis Hash 將我的 DTO 保存在 Redis 上。

我被迫在管道內使用像hSet這樣的命令。

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

此外,Lettuce 的每次 Redis 命令之后的日志記錄也會影響開發環境中的寫入操作。

嘗試關閉io.lettuce.core DEBUG日志並查看操作是否加快。

如果需要,我可以分享我的情況的代碼片段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM