說下場景,因為數據量不是很大,200個對象,但使用非常非常頻繁,每次數據庫讀取?不考慮堵塞,從數據庫到程序內部,怎麽也得耗費20ms左右吧,明顯不現實。使用Redis或者其它二級緩存?量上去以後,IO開銷依然非常可觀。
考慮數據幾乎不變,那麽,能不能直接用Java對象緩存?每次使用,直接從Spring的IOC容器獲取,豈不美哉,結合我上篇博文,貌似不難實現。
OK,廢話不多說,直接上代碼。
工具類:
@Configuration
public class XXXUtils {
@Resource
private XXXMapper xxxMapper;
public static List<XXX> xxxs;
@PostConstruct
public void init() {
xxxs = xxxMapper.getXxxs();
}
}
同時,你需要修改Mapper文件
@Repository("xxxMapper")
@Configuration
public interface XXXMapper {
List<XXX> getXxxs();
}
PS:不想泄露代碼隱私,所以代碼都是簡寫,可能有細節錯誤,反正就是這個套路了。
Tags: interface private public 數據庫 Java
文章來源: