簡體   English   中英

如何將數據從數據庫加載到Redis緩存中?

[英]how to load data into redis cache from database?

我們計划在應用程序中使用Redis緩存,我們的要求是首先需要在實際應用程序啟動之前將大約6個月的數據加載到Redis緩存中,我認為如果我們一次循環執行一個命令來插入鍵值,到Redis中會花費太多時間,是他們可以從數據庫中檢索數據並一口氣將所有數據插入Redis的方法嗎?

有人可以建議嗎?

Redis提供了對流水線的支持,該流水線涉及到向服務器發送多個命令,而無需等待答復,然后一步就可以讀取答復。 當您需要連續發送多個命令(例如將多個元素添加到同一List)時,流水線可以提高性能。

Spring Data Redis提供了幾種RedisTemplate方法來執行管道中的命令。

一個例子:

//pop a specified number of items from a queue
List<Object> results = stringRedisTemplate.executePipelined(
  new RedisCallback<Object>() {
    public Object doInRedis(RedisConnection connection) throws DataAccessException {
      StringRedisConnection stringRedisConn = (StringRedisConnection)connection;
      for(int i=0; i< batchSize; i++) {
        stringRedisConn.rPop("myqueue");
      }
    return null;
  }
});

您可以點擊此鏈接

或者,您也可以使用Redis Mass插入工具。

暫無
暫無

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

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