我有一个包含一些元数据的数据库表,这些元数据在版本之间不会改变。我希望能够在应用程序启动时缓存此元数据,以便我可以像 ENUM 一样使用它。可能缓存在 bean 中。有没有办法在 Java 中做到这一点?我在我的网络应用程序中使用 spring 框架。我通过搜索找到了 memcached,但我认为这对于学习曲线和用于我想要存储的内容来说太沉重了。我的表很小,有一个 ID 和对应的值,只有 10 条记录。
最佳答案
您的要求甚至不需要任何缓存学习,您可以为此使用 Spring 生命周期方法。就像下面这样
public class DBCache implements InitializingBean {
private Map dataCache;
public void afterPropertiesSet() {
// perform db hit and populate dataCache; }
}
public Map getCacheData(){//RETURN THE DATA OR WHATEVER FORMAT YOU NEED//}
afterPropertiesSet方法由Spring框架调用。虽然有时建议不要实现InitializingBean,因为它与Spring结合,但是也可以在您希望在应用程序启动时获得回调的方法上选择@PostConstruct注解。
关于java - 在应用程序启动时缓存数据库表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28074382/