Java 靜態 map 資料動態初始化------拒絕硬編碼
阿新 • • 發佈:2018-12-18
快取 這是一種Java記憶體的使用方法,很多人習慣 把 map 裡面的資料寫死,但是這個其實還是硬編碼,其實更好的操作最好是通過資料庫查詢 進行 快取更新,提供一種額外的介面重新查庫 來重新整理快取。
或者是使用redis 處理方式是一樣
// 校驗傳送頻次 if(!TemplateCheckUtil.checkTemplateMap(messageByTypePojo.getMsgTemplateCode())) { BaseResponse<String> sendResult = messageSendPreConditionUtil.checkMsgSendRate(newTemplateCode, messageByTypePojo.getTelephone()); if (sendResult.getCode().equals(SMSConstants.SMS_CODE_FAILURE)) { return new SmsResultPojo(SMSConstants.SMS_CODE_FAILURE,sendResult.getMsg()); } }
import java.util.HashMap; import java.util.Map; public class TemplateCheckUtil { private static final Map templateMap; public static boolean checkTemplateMap(String str) { return templateMap.containsKey(str); } static { templateMap = new HashMap(); templateMap.put("notification-111", "ymgj"); } }