日期:2014-05-17  浏览次数:20369 次

有必要把数据库某个表放在cache里吗?
因为某个数据库的表数据量比较大,并且限制了用户不允许检索全部。

因此我考虑到把该表放在cache里,然后检索时从cache里找(用户检索的频率比较高)。

这样做合理吗?

我在考虑两个问题。

一,大数据量的表,放在cache里。该cache始终处于“饱满”的状态,对服务器有利吗?

二,用户每次检索都是小数据量,是每次读写数据库呢,还是读写cache,速度比较快呢?
   
顺便说下,用户检索频率比较高,但是检索的数据量比较小,一般平均20行数据。


------解决方案--------------------
数据量较少,不经常更新,检索频繁的表可以考虑放在cache中.
------解决方案--------------------
Cache 一般用于数据较固定,用的较频繁的地方。例如可以把进销存系统中可以把产品信息存入cache,在用户调用产品信息时通过调用cache即可,这样从很大程度上减少了用户与数据库的交互,提高了系统的性能。反之,cache不适合用在数据变动快,使用范围很窄的地方。例如把一个具体采购单存入 cache中。
------解决方案--------------------
像你说的用户检索频率比较高,但检索的数据量比较小,这种情况还是可以考虑放在cache中的.
------解决方案--------------------
对于数据量比较小,而且经常不变化的表,也就是静态表,SQL SERVER默认就是放在CACHE中的,当然这跟ASP.NET的CACHE还是有差别的!

首先说第一个问题,大量的数据放在CACHE里,对服务器没有影响,只是服务器会在需要内存的时候,会自动清理CACHE里的内容,所以太大了,放进去也没用,过一会他就清除了,还得重放。

第二个问题,当然是放在asp.net的cache里比较快,因为免去了从SQL SERVER中再读取数据的过程,另外,如果数据量小的静态表,不要用索引查询,因为SQL SERVER会自动给这个表CACHE起来。
------解决方案--------------------
一般是把所谓的look-up table的数据存进全局Cache里。

就是那种参照用的。而不是把那些变化相对频繁的表放进Cache里。
------解决方案--------------------
对于数据量比较小,而且经常不变化的表,也就是静态表,SQL SERVER默认就是放在CACHE中的,当然这跟ASP.NET的CACHE还是有差别的! 

首先说第一个问题,大量的数据放在CACHE里,对服务器没有影响,只是服务器会在需要内存的时候,会自动清理CACHE里的内容,所以太大了,放进去也没用,过一会他就清除了,还得重放。 

第二个问题,当然是放在asp.net的cache里比较快,因为免去了从SQL SERVER中再读取数据的过程,另外,如果数据量小的静态表,不要用索引查询,因为SQL SERVER会自动给这个表CACHE起来。
------解决方案--------------------
我X,复制我的话啊