我想用dataset作数据库缓存

twinsensxu 2009-03-21 04:05:35
数据库缓存,我想用dataset来缓存数据库中一部分常用表,数据的查询、更新、删除都在dataset中来操做,定期跟物理数据库做一次同步工作,不知道是否可行?
有知道的朋友帮忙指导一下,分不多了,希望不要嫌弃
...全文
159 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
“定期跟物理数据库做一次同步工作”一点都不妥。

定期为多上时间?

使用数据Cache的人应该可以做到数据改变了之后少于1秒就必须去除脏数据。实际上,数据Cache大多数时候可以做到立刻去除脏数据。
  • 打赏
  • 举报
回复
假设我们读取出1万条记录,如果平均只有10%的命中率,那么你的缓存设计不但不能提高效率,而且浪费了读取时间,并且因为浪费了内存而使得服务器缓存系统整体都经常垮掉而不得不丢弃有用的数据。

缓存不是这样用的。只有用到的数据,才写入缓存,使得下一次查询时就不用去读取数据库了。也就是说,即使我对500条记录有的缓存1次、有的缓存2次、3次,也就是说这500条记录变成1000条记录缓存里,也比读取1万条记录放到缓存里要好很多。
twinsensxu 2009-03-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yeness 的回复:]
控制在5m以内,应该可以
[/Quote]
5M指的是什么?
5百万条数据?
twinsensxu 2009-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuyeede 的回复:]
如果能实现,也会占用大量的内存。
还有我感觉楼主好像不太了解ASP.NET的工作机制。页面的生命周期限制了您的想法。
[/Quote]
页面的生命周期限制了您的想法?是啥意思?解释一下吧~我把dataset写在Cache里面,下次从Cache里面获取就不会失效吧?还有Cache可以做一个文件依赖的关联,一旦文件发生变化就更新那个文件(通过对表加触发器),这样就可以实现缓存同步了
xuan.ye 2009-03-21
  • 打赏
  • 举报
回复
我觉得,操作玩 dataset后,写到xml当中,也可以的

用的时候,或者跨页面操作,在读取xml

如果多用户操作,使用一个xml也可以,又共享,效率也好
xuan.ye 2009-03-21
  • 打赏
  • 举报
回复
控制在5m以内,应该可以
liucfy 2009-03-21
  • 打赏
  • 举报
回复
四楼的说的对,如果缓存数据最好是用Cache,因为Cache只有显示才可删除,你可以在更新数据的时候调用Cache["Key"]=null,那样就可以同步了.
chouto 2009-03-21
  • 打赏
  • 举报
回复
可行
qcjxberin 2009-03-21
  • 打赏
  • 举报
回复
用cache将表缓存起来,当需要用的时候再从cache中取出来。
蜗牛水里爬 2009-03-21
  • 打赏
  • 举报
回复
汗~~~ADO.NET本身就有缓存机制啊~~~
页面的生命周期限制了您的想法。

twinsensxu 2009-03-21
  • 打赏
  • 举报
回复
我知道datset会很吃内存,所以我只缓存一小部分常用的表,这个表相对来说更新不会很频繁,但是经常需要查询,dataset缓存zaicache对象中,给所有用户共享,不知道还要注意些啥?
liuyeede 2009-03-21
  • 打赏
  • 举报
回复
如果能实现,也会占用大量的内存。
还有我感觉楼主好像不太了解ASP.NET的工作机制。页面的生命周期限制了您的想法。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧