java如何将从数据库取出的数据预先存入到内存

我用的是spring mvc,我想的是为了使加载速度加快,想把从数据库中取出的数据预先存入到内存,不用每次加载都要请求数据库,请大家帮帮忙!!!
JAVA 如何把数据读出放在内存中以供调用?
在一个spring mvc项目中,如何写一个类把数据从数据库中读出放在内存中以供调用,该如何实现?

其实我只是要一个很简单的功能 就是从数据库读出数据 把这堆数据放在内存里 然后在用到的时候再去读内存里的这堆数据。
最好能有代码说明 谢谢!

我觉得你要实现的这个可能跟SpringMvc的关系不是很大。
你要达到的目的其实就是在jvm启动的时候把数据库数据加载一份到内存,一个静态变量和一个静态初始化块就可以搞定你的问题,这两者都是在类加载的时候初始化一次,像前面回答的一样,你可以用一个HashMap搞定。
稍微具体来说,一个静态变量
public static final Map<key,value> cache=new HashMap<key,value>()
static {
cache=请求数据库操作
}

key你自己加,String还是int都行,value是你数据库的结构,可以写个实体。获取的时候直接cache.get(key)就可以了。追问

你能再帮我解决一个问题吗,我从数据库中使分页查询的,怎样将查询出来的数据也分页写入内存,谢谢哈

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

你要实现的这个可能跟SpringMvc的关系不是很大。
你要达到的目的其实就是在jvm启动的时候把数据库数据加载一份到内存,一个静态变量和一个静态初始化块就可以搞定你的问题,这两者都是在类加载的时候初始化一次,像前面回答的一样,你可以用一个HashMap搞定。稍微具体来说,一个静态变量
public static final  Map<key,value> cache=new  HashMap<key,value>()
static {
cache=请求数据库操作
}

key你自己加,String还是int都行,value是你数据库的结构,可以写个实体。获取的时候直接cache.get(key)就可以了。

java如何从数据库读取数据并写入txt文件:

将数据查询出来放在list中,然后写入文件。
给你个写入的类,查询数据自己如果能搞定最好了。
FileWriter fileWriter=new FileWriter("c:\\Result.txt");
int [] a=new int[]{11112,222,333,444,555,666};
for (int i = 0; i < a.length; i++) {
fileWriter.write(String.valueOf(a[i])+" ");
}
fileWriter.flush();
fileWriter.close();
上面例子中的a也可以是list。

本回答被网友采纳
第2个回答  2014-02-13
写一个ServletContentListener,在servlet启动完成之后,将想要的数据从数据库读出来,然后保存到内存中(需要保证该对象不会被Jvm自动回收),在用的时候在拿来使用追问

能给个小小的例子吗??谢谢啦

追答

你邮箱,找到了给你发一个例子

第3个回答  2014-02-13
静态全局变量 MAP 就是所谓的缓存

如果不涉及并发

public static final Map cache=new HashMap()

这样就是了

然后key value 去读取追问

这样就可以写入到内存吗??

追答

嗯 缓存都是这思路....

相似回答