java - 在应用程序启动时缓存数据库表数据

标签 java mysql database spring caching

我有一个包含一些元数据的数据库表,这些元数据在版本之间不会改变。我希望能够在应用程序启动时缓存此元数据,以便我可以像 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/

相关文章:

java - 按钮不显示

Java RSA解密对于iPhone中使用其公钥解密的数据不起作用

php - 如何将 PDO 转换为 mysqli?

node.js - CouchDB、MongoDB 和 Redis 中的哪个数据库适合从 Node.js 开始?

java - hashmap 的 containsKey 检查

php - SQL语法错误;查看与您的 MySQL 服务器版本对应的手册,以了解在附近使用的正确语法

php - 基于动态页面点击次数的点击计数器

sql - 一对一映射混淆

mysql - JOIN 子查询的替代方案

java - Apache Spark 上的远程作业 (Java)