C#在Winform处理缓存问题

C#在Winform处理缓存问题,第1张

外部改变时吗?

如果外部能够改变,说明程序和文件已经断开连接了。蠢镇所以需要定时(轮询)去访问这个文件来比较。

比较的话,如果文本此竖较小就读到内存里比。如果文带扒粗件较大,复制一个到本地,然后用两个文件的哈希值去比。

没分?

你的意思是用.NET的缓存机制?

缓存一般情况下用于数据库 *** 作的比较多.

如果此数据修改过多,不建议用缓存.一般是原始数据山蔽改.其实写在程序的某固定地方作为静态变量出现我觉得也可以...

sqlServer系列有大量的索引等等 *** 作.优化后不一并念定比缓存差.

同类比还有session和application.

我举个例子查询数据库的逗判例子看和你说的是不是一回事...

string cacheKey="yourKey" //缓存ID

object myObj= HttpContext.Current.Cache[CacheKey]//缓存对象

if(myObj==null)

{

//证明为空,再从数据库中查询

Datatable yourTable=yourSelect()

if(yourTable==null)

return null

else

{

HttpContext.Current.Cache.Insert(cacheKey,yourTable)//插入缓存

return yourTable

}

}

return myObj

肯定是你代码逻辑有问题啦~

最简答的一个方法 GC.Collect()垃圾回收

最好检查一下你的所有变量的作用域

并且检查一下不要高州再循环中初判芦始化对象那样很慢

你不贴代码谁也不知道怎么回事

对象被dispose()不见得资源就全被释放了,.net依据一定机制去释放资源掘念带,对象被dispose()了也不会马上就释放资源


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12374901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存