[英]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.