应用程序启动时缓存DB表数据

时间:2015-01-21 18:36:16

标签: java mysql database spring caching

我有一个带有一些元数据的数据库表,这些数据在发行版之间没有变化。我希望能够在应用程序启动时缓存此元数据,以便我可以像ENUM一样使用它。可以在bean中缓存。有没有办法在Java中做到这一点?我在我的webapp中使用spring框架。我通过搜索找到了memcached,但我认为在学习曲线和使用我想要存储的东西方面太重了。我的表是一个小表,其ID和值对应,并且只有10个记录。

1 个答案:

答案 0 :(得分:0)

您的要求本身甚至不需要任何缓存学习,您可以使用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//}

Spring框架调用afterPropertiesSet方法。虽然有时它建议不要实现InitializingBean,因为它与Spring结合使用,然后使用也可以选择@PostConstruct注释在你想要在应用程序启动时获得回调的方法。