SSMがサービス開始時にデータをキャッシュする
3016 ワード
シーンを使用:
ページはバックエンドのデータ量が非常に大きいインタフェースを呼び出し、時間が長い場合、プロジェクトにはバッファ機能(例えばredis)がないため、リアルタイムでデータを取得するたびにお客様の体験に非常に悪い場合は、以下のコードを押して、初期化時にデータベースにデータを取得し、mapまたはlistにカプセル化することができます.の中で、これでいつ使って直接データを得ることができます.
考え方:サーブレットを例にとる→init()メソッドでデータベースを呼び出してデータを取り、クライアントがdoPost()またはdoPost()を呼び出すとinit()メソッドで取得したデータを手に入れることができます.
転載先:https://www.cnblogs.com/cuijiade/p/9268265.html
ページはバックエンドのデータ量が非常に大きいインタフェースを呼び出し、時間が長い場合、プロジェクトにはバッファ機能(例えばredis)がないため、リアルタイムでデータを取得するたびにお客様の体験に非常に悪い場合は、以下のコードを押して、初期化時にデータベースにデータを取得し、mapまたはlistにカプセル化することができます.の中で、これでいつ使って直接データを得ることができます.
package com.jeeplus.modules.ins.cache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
/**
*
* @author
*
*/
@Component
public class CacheListener implements ApplicationListener{
private Logger log = LoggerFactory.getLogger(CacheListener.class);
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if(event.getApplicationContext().getParent() == null){
log.info(" , ...");
CacheManager.setDict();
log.info(" ");
CacheManager.setFundList();
log.info(" ");
CacheManager.setBankList();
log.info(" Ta ");
CacheManager.setTaList();
}
}
}
考え方:サーブレットを例にとる→init()メソッドでデータベースを呼び出してデータを取り、クライアントがdoPost()またはdoPost()を呼び出すとinit()メソッドで取得したデータを手に入れることができます.
転載先:https://www.cnblogs.com/cuijiade/p/9268265.html