当前位置:编程学习 > C#/ASP.NET >>

缓存的问题?

以前做asp.net项目时,会使用Web.Cache类,
现在做的是一个winform的项目,从DB取出数据时想实现缓存的功能,
于是就想自己实现一个缓存类,准备用Dictionary或者List作为缓存的载体,
但是想到一个问题:如何现在这个缓存集合的大小,解决办法除了使用过期时间之外还有什么更好的策略吗?如果没有类似的过期策略这个缓存集合越来越大时,.net会怎么处理这些占用内存空间巨大的集合对象的?
--------------------编程问答-------------------- HttpRuntime.Cache相当于就是一个缓存具体实现类,这个类虽然被放在了System.Web命名空间下,但是非Web应用下也是可以使用;

http://blog.csdn.net/avon520/article/details/4872704 --------------------编程问答-------------------- 之前也有过类似的疑问
后来想了一下,winForm程序始终是运行在Main()里面的,而非Http那样请求-响应方式来交互 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- winform下自定义一个简单缓存类的例子 --------------------编程问答-------------------- HttpRuntime.Cache相当于就是一个缓存具体实现类,这个类虽然被放在了System.Web命名空间下,但是非Web应用下也是可以使用;

http://blog.csdn.net/avon520/article/details/4872704 --------------------编程问答-------------------- 楼上的可以 --------------------编程问答-------------------- 。Net的缓存是通过sql的增删改触发器来完成的,你完全可以模拟出来。。。

你可以测试一下:对sql的一个表创建一个缓存,然后打开sql管理器,看看这个表添加一系列的触发器和其他的辅助表。你自己也可以做到到这些。这样的缓存机制最精确。

另外正如楼上说的,这个缓存类不区分WEB和桌面应用的。 --------------------编程问答-------------------- 想用.net自己实现一个缓存类.
大家有什么思路么? --------------------编程问答-------------------- http://topic.csdn.net/u/20110418/08/6832a8a5-10b9-4bde-bc49-3d94e5d3c33b.html
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,