Cache有什么优点

zengjd 2009-04-29 01:22:09
Cache有什么优点

如果不考虑 “动态的失效期”,“对象设置依存关系”,等,
他和自己写一个静态的Hash表对象相比。有什么优点?
...全文
474 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
greymouseyu 2009-04-29
  • 打赏
  • 举报
回复
CacheDependency缓存依赖项,其依赖于数据库中某个表的变化
若此表更新了,则缓存失效。
具体可参考petshop
Radar2006 2009-04-29
  • 打赏
  • 举报
回复
up
白s菜 2009-04-29
  • 打赏
  • 举报
回复
奥秘托付
BossFriday 2009-04-29
  • 打赏
  • 举报
回复
我没有具体去看过Cache的实现代码.不过从个人对享元模式的理解上,觉得是.
zengjd 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sp1234 的回复:]
引用 10 楼 zzxap 的回复:
又见sp123讲经


不是讲经,是因为我没有办法用很大篇幅地去细说。
[/Quote]

为啥不稍微详细点儿说?
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zzxap 的回复:]
又见sp123讲经
[/Quote]

不是讲经,是因为我没有办法用很大篇幅地去细说。
zengjd 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zzxap 的回复:]
又见sp123讲经
[/Quote]

你咋不讲讲?
zzxap 2009-04-29
  • 打赏
  • 举报
回复
又见sp123讲经
sjt000 2009-04-29
  • 打赏
  • 举报
回复
up~
lijie9693 2009-04-29
  • 打赏
  • 举报
回复
up
zengjd 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sp1234 的回复:]
Cache技术在于CacheDependency。如果你没有掌握设置CacheDeopendendy参数的技术,就等于没有真正掌握Cache技术。

默认地,即使不设置CacheDependency参数,Cache也会依据服务器的内存状况,以及对象使用的频繁程度等条件,自动地清除不需要的缓存数据。而HashTable只是傻傻地强占内存而已。
[/Quote]

你的意思是说,Cache会根据内存使用状况,
自动让缓存失效?
happy664618843 2009-04-29
  • 打赏
  • 举报
回复
Cache对象:
void Page_Load()
{
DataTable dt=(DataTable)Cache["dtkey"];
if(dt==null)
{
dt=getdtFromDB(); //此处调用方法从数据库中返回数据项DataTable
Cache.Insert("dtKey",dt,null,DateTime.Now.AddHours(1),Cache.NoSlidingExpiration); //此处使用绝对过期策略添加项目
}
GridView1.DataSource=dt;
GridView1.DataBind();
hendric 2009-04-29
  • 打赏
  • 举报
回复
Asp.net缓存技术总结,总结的比较细致
  • 打赏
  • 举报
回复
然而从实际应用角度考虑,不自己控制CacheDedency,就无法让缓存真实地和自动地响应数据失效事件,脏数据就是内存垃圾了。所以在很多人写得缓存代码那里,用垃圾当作有效数据,很成问题。
  • 打赏
  • 举报
回复
Cache技术在于CacheDependency。如果你没有掌握设置CacheDeopendendy参数的技术,就等于没有真正掌握Cache技术。

默认地,即使不设置CacheDependency参数,Cache也会依据服务器的内存状况,以及对象使用的频繁程度等条件,自动地清除不需要的缓存数据。而HashTable只是傻傻地强占内存而已。
zengjd 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 camelials 的回复:]
去看下享元模式吧.
其实Cache就是享元模式一种.net里现成的应用罢了.
享元模式最原始的实现也是通过静态HashTable来做的.
或者再有兴趣,你自己去看一下Cache的实现代码(Framework里的有工具去看这些东西的实现)
[/Quote]
享元模式 我知道。
不过 Cache 是 享元模式?
BossFriday 2009-04-29
  • 打赏
  • 举报
回复
去看下享元模式吧.
其实Cache就是享元模式一种.net里现成的应用罢了.
享元模式最原始的实现也是通过静态HashTable来做的.
或者再有兴趣,你自己去看一下Cache的实现代码(Framework里的有工具去看这些东西的实现)

62,025

社区成员

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

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

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

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