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

数据库缓存依赖的疑惑?求大家帮忙下
看到一篇博客是介绍的:
“我们的服务器性能损耗还是在查询数据库的时候,所以对数据库的缓存还是显得特别重要,上面几种方式都可以实现部分数据缓存功能。但问题是我们的数据有时候是在变化的,这样用户可能在缓存期间查询的数据就是老的数据,从而导致数据的不一致。那有没有办法做到,数据如果不变化,用户就一直从缓存中取数据,一旦数据变化,系统能自动更新缓存中的数据,从而让用户得到更好的用户体验。

   答案是肯定的!.NET已经为我们提供了这样一种非常好的解决方法:SqlCacheDependency数据库缓存依赖。”

地址:http://www.cnblogs.com/ltp/archive/2009/06/30/1514331.html

我的问题是这种数据库缓存,会不会造成数据库或者内存的影响???
大家做的项目中这个用的多不多???
我们现在的列表分页的话,感觉用这个能省很多效率···但是会不会带来一些其他的影响????
这篇博客中没有具体介绍多表链接的这种缓存方式,大家有没有类似的例子或者给我简单讲解下谢谢~~~~

数据库 Cache asp.net

------解决方案--------------------

我的问题是这种数据库缓存,会不会造成数据库或者内存的影响???
答:不会
大家做的项目中这个用的多不多???
答:看要求
我们现在的列表分页的话,感觉用这个能省很多效率···但是会不会带来一些其他的影响????
答:没关系
这篇博客中没有具体介绍多表链接的这种缓存方式,大家有没有类似的例子或者给我简单讲解下谢谢~~~~
答:网上很多
———解释一下—————
sqlcachedependency 主要解释cache长度问题,短了没效果,长了浪费
所以给他一个依据,按照某个表的跟新来设定,可以是多表链接
chche是解决多读问题,所以和你分页没关系
说个真实例子:
我有个销售部,里面有外部销售和内部销售,要找出他们的对应关系,来确定订单走向
用了一个缓存吧所有可能都列在里面,这样就快很多了,销售部表时刻都在查询,但基本不更新

——————
我希望我理解正确了你的问题
------解决方案--------------------
缓存的原理是:把需要的数据加载到内存,下次要使用的时候直接使用内存的,不再需要重新加载
从而节约时间~

我的问题是这种数据库缓存,会不会造成数据库或者内存的影响???
减少数据库的读取,但会消耗应用程序的内存,以内存换速度
大家做的项目中这个用的多不多???
答:我没有用过,都是用4.0 Runtime.Cache
我们现在的列表分页的话,感觉用这个能省很多效率···但是会不会带来一些其他的影响????
答:缓存期间数据不是最新的,很消耗内存,但现在内存白菜价,所以用内存换速度,很值得的
这是一个策略问题,如果列表查看是需要最新的数据的,则不要缓存,当然一修改到数据,也可以更新缓存
取决于策略
这篇博客中没有具体介绍多表链接的这种缓存方式,大家有没有类似的例子或者给我简单讲解下谢谢~~~~
答:把需要的数据加载到内存中,推荐使用实体类,最后以List<T>方式放到缓存中,使用的时候可以
使用linq