SSM启动服务时将数据存入缓存
生活随笔
收集整理的這篇文章主要介紹了
SSM启动服务时将数据存入缓存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用場景:
頁面要調用的是后端數據量非常大的接口,并且時間較長,這時項目沒有緩沖功能(例如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<ContextRefreshedEvent>{private Logger log = LoggerFactory.getLogger(CacheListener.class);@Overridepublic 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();}}}?
思路:拿Servlet 舉例→ 在init()方法中就去調用數據庫取數據,然后客戶在調用doPost()或doPost()的時候就可以拿到init()方法中獲取的數據了。
轉載于:https://www.cnblogs.com/cuijiade/p/9268265.html
總結
以上是生活随笔為你收集整理的SSM启动服务时将数据存入缓存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基金定投选择a类还是c类 考虑它们的收费
- 下一篇: 如何选择货币型基金 尽量选择规模适中的