如何将从数据库中查询的数据数据保存到内存中

时间:2022-04-28 03:48:35
前两天面试,遇到一个问题,从数据库中查询出来一万条数据,如何保存到内存中去,以便下次查询!不用Hibernate中的缓存!

14 个解决方案

#1


引用楼主 haolisdk1 的帖子:
前两天面试,遇到一个问题,从数据库中查询出来一万条数据,如何保存到内存中去,以便下次查询!不用Hibernate中的缓存!

查询结果本来就在内存中。
要想一直缓存查询结果集,这是11g才有的新功能啊。
11g前只能把表放在keep pool中缓存,不能一直缓查询存结果集。

#2


哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?

#3


引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?

我认为查询的结果本来就在内存中.

#4


该回复于2009-03-23 14:25:34被版主删除

#5


放在dataSet里?
哈哈

#6


引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?


啊,这么变态的问题啊,这个也需要程序员去关心吗

跟我以前面试时的一个问题有的一拼了
我以前的那个面试的 问我程序中的一个变量放在内存中的什么位置,
我当时就崩溃了,而且在心里狠狠得鄙视了一把,
我相信没有人能回答出这样的问题,包括他自己,
我都要走了,可他拉着不让,说没关系,可以换个问题
然后又跟我讨论了一把java是值传递还引用传递的问题
我们知道变量都是放在内存中,所以讨论了半天有回到内存的问题上了
彻底崩溃了,赶紧闪人,没想到的是我还在回家的公交车上呢,打来电话说我
技术还可以,明天就可以上班了,不过被我谢绝了,因为我没办法和那样一群变态的人在一起工作
想想那一天过的真是太荒唐了

#7


所以建议LZ 不要理睬这样的问题

#8


引用 6 楼 natty_boy 的回复:
引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的? 
 

啊,这么变态的问题啊,这个也需要程序员去关心吗 

跟我以前面试时的一个问题有的一拼了 
我以前的那个面试的 问我程序中的一个变量放在内存中的什么位置, 
我当时就崩溃了,而且在心里狠狠得鄙视了一把, 
我相信没有人能回答出这样的问题,包括他自己, 
我都要走了,可他拉着不让,说没关系,可以换个问题 


人家可能是想考察一下你对堆栈的了解吧,
年轻人可真是狂妄啊,学习一下数据结构先

#9


mark

#10


引用 3 楼 dawugui 的回复:
引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?

我认为查询的结果本来就在内存中.

同感

#11


是不是想要保存到一个数组里? 再次使用时只从数组里查即可?

#12


引用楼主 haolisdk1 的回复:
前两天面试,遇到一个问题,从数据库中查询出来一万条数据,如何保存到内存中去,以便下次查询!不用Hibernate中的缓存!


数据库提供了缓存,

不知道这里面试者的意图是怎样的。

如果是想做应用层的cache的话,可以有很多种cache组件选择,oscache,jcs, ehcache和jbosscache都是很常用的。这里cache的粒度是怎样的,是对reslut的cache还是对单个entity的cache,cache的策略和持久话的考虑都是需要进一步细化的。

总的来说,面试官提这样的问题的意图不明确,也有可能是很资深的面试官提的比较容易发散的问题。

#13



支持......也可以保存在服务器上的session中啊

引用 5 楼 z_kikyou 的回复:
放在dataSet里?
哈哈

#14


引用 6 楼 natty_boy 的回复:
引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?


啊,这么变态的问题啊,这个也需要程序员去关心吗

跟我以前面试时的一个问题有的一拼了
我以前的那个面试的 问我程序中的一个变量放在内存中的什么位置,
我当时就崩溃了,而且在心里狠狠得鄙视了一把,
我相信没有人能回答出这样的问题,包括他自己,
我都要走了,可他拉着不……

不懂考官的问题意图,先要找找自己在这方面的不足,竟然会说“我相信没有人能回答出这样的问题”,就你这个问题,随便找个人都会知道考官是想考察变量存放在堆内存和栈内存,虽然考官并没有将自己的意思表达清楚,但你可以就你的理解去向考官确认自己理解的对不对。。。

#1


引用楼主 haolisdk1 的帖子:
前两天面试,遇到一个问题,从数据库中查询出来一万条数据,如何保存到内存中去,以便下次查询!不用Hibernate中的缓存!

查询结果本来就在内存中。
要想一直缓存查询结果集,这是11g才有的新功能啊。
11g前只能把表放在keep pool中缓存,不能一直缓查询存结果集。

#2


哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?

#3


引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?

我认为查询的结果本来就在内存中.

#4


该回复于2009-03-23 14:25:34被版主删除

#5


放在dataSet里?
哈哈

#6


引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?


啊,这么变态的问题啊,这个也需要程序员去关心吗

跟我以前面试时的一个问题有的一拼了
我以前的那个面试的 问我程序中的一个变量放在内存中的什么位置,
我当时就崩溃了,而且在心里狠狠得鄙视了一把,
我相信没有人能回答出这样的问题,包括他自己,
我都要走了,可他拉着不让,说没关系,可以换个问题
然后又跟我讨论了一把java是值传递还引用传递的问题
我们知道变量都是放在内存中,所以讨论了半天有回到内存的问题上了
彻底崩溃了,赶紧闪人,没想到的是我还在回家的公交车上呢,打来电话说我
技术还可以,明天就可以上班了,不过被我谢绝了,因为我没办法和那样一群变态的人在一起工作
想想那一天过的真是太荒唐了

#7


所以建议LZ 不要理睬这样的问题

#8


引用 6 楼 natty_boy 的回复:
引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的? 
 

啊,这么变态的问题啊,这个也需要程序员去关心吗 

跟我以前面试时的一个问题有的一拼了 
我以前的那个面试的 问我程序中的一个变量放在内存中的什么位置, 
我当时就崩溃了,而且在心里狠狠得鄙视了一把, 
我相信没有人能回答出这样的问题,包括他自己, 
我都要走了,可他拉着不让,说没关系,可以换个问题 


人家可能是想考察一下你对堆栈的了解吧,
年轻人可真是狂妄啊,学习一下数据结构先

#9


mark

#10


引用 3 楼 dawugui 的回复:
引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?

我认为查询的结果本来就在内存中.

同感

#11


是不是想要保存到一个数组里? 再次使用时只从数组里查即可?

#12


引用楼主 haolisdk1 的回复:
前两天面试,遇到一个问题,从数据库中查询出来一万条数据,如何保存到内存中去,以便下次查询!不用Hibernate中的缓存!


数据库提供了缓存,

不知道这里面试者的意图是怎样的。

如果是想做应用层的cache的话,可以有很多种cache组件选择,oscache,jcs, ehcache和jbosscache都是很常用的。这里cache的粒度是怎样的,是对reslut的cache还是对单个entity的cache,cache的策略和持久话的考虑都是需要进一步细化的。

总的来说,面试官提这样的问题的意图不明确,也有可能是很资深的面试官提的比较容易发散的问题。

#13



支持......也可以保存在服务器上的session中啊

引用 5 楼 z_kikyou 的回复:
放在dataSet里?
哈哈

#14


引用 6 楼 natty_boy 的回复:
引用 2 楼 haolisdk1 的回复:
哦,我没说清楚,我的意思是哪些查询出来的数据怎么放到内存中去的?


啊,这么变态的问题啊,这个也需要程序员去关心吗

跟我以前面试时的一个问题有的一拼了
我以前的那个面试的 问我程序中的一个变量放在内存中的什么位置,
我当时就崩溃了,而且在心里狠狠得鄙视了一把,
我相信没有人能回答出这样的问题,包括他自己,
我都要走了,可他拉着不……

不懂考官的问题意图,先要找找自己在这方面的不足,竟然会说“我相信没有人能回答出这样的问题”,就你这个问题,随便找个人都会知道考官是想考察变量存放在堆内存和栈内存,虽然考官并没有将自己的意思表达清楚,但你可以就你的理解去向考官确认自己理解的对不对。。。