如果外部能够改变,说明程序和文件已经断开连接了。蠢镇所以需要定时(轮询)去访问这个文件来比较。
比较的话,如果文本此竖较小就读到内存里比。如果文带扒粗件较大,复制一个到本地,然后用两个文件的哈希值去比。
没分?缓存一般情况下用于数据库 *** 作的比较多.
如果此数据修改过多,不建议用缓存.一般是原始数据山蔽改.其实写在程序的某固定地方作为静态变量出现我觉得也可以...
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()了也不会马上就释放资源
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)