.net 缓存的相关问题
我有一个表 里面记录大概在50万 经常要看的有10w左右 而且查看的频率特别大 高峰时分分钟select几万次为了减轻数据库查询压力 我把这个表的每条记录都以id为key放入了cache里 这样数据库的压力确实是比以前小了很多,但是我在缓存管理页面发现有时候有十几万条缓存记录 但过了会又变成几千 或者几万条了
我估计是被自动清空了 但看内存使用一直都不是很高 我每条缓存的东西也就是几十个字符
想请问。net对缓存有没有大小限制 有的话该怎么破
或者是不是缓存数有限制 超过多少条后自动清空了 --------------------编程问答-------------------- 应该有限制的 --------------------编程问答-------------------- 这个应该看内存。只要内存足够无上限 --------------------编程问答-------------------- 我现在内存使用很少啊 而且我每条缓存内的数据就几十个字符而已 --------------------编程问答-------------------- cache有过期策略,不设过期的话内存有多少用多少,内存用光了会自动清掉一批,另外iis的应用程序池里也有设置内存大小 --------------------编程问答-------------------- 我设置的是3天过期 应该是iis的应用程序池没设置好 --------------------编程问答-------------------- 不懂你为什么非要把10w的数据放到缓存去,这样好玩咩?
缓存不是这样用的,缓存只适用于一些简单的常用的数据,不合适做大数据存储,你服务器内存很大时另当别论
对于大数据查询我们的SQL有已分区表和已分区索引
就是很一个表或一个数据库分为很多个文件来存储(有规律的文件存储),每次只去查询相应的文件,这样就实现了大数据的快速查找 --------------------编程问答--------------------
我不是因为表里面记录多才用缓存 是查询的次数多才用的 你数据优化得很好又怎么样 一分钟查个十万次还不是一样的压力大 --------------------编程问答-------------------- 哪有这样做缓存的,10w条的数据放进缓存,丢失的原因是web.config被修改过或站点被重启。
其实,几w,十几w的数据级别没什么压力。 --------------------编程问答-------------------- 缓存可以使用的大小与.net没有关系,只与机器有关系。 --------------------编程问答-------------------- Web缓存基本是不稳定的。因为你都不知道哪一秒IIS应用程序池会进行回收。所以如果你拥有服务器权限的话,建议开辟较大的内存区域进行部署Memcache分布式缓存策略。会比Web缓存优势的多。另外缓存几千条高频率访问的常用数据还是比较正常的。缓存10W条的数据也不是说不可以。问题是你的服务器内存那估计得很大才能满足生产需要。否则感觉10W条数据的缓存这个还真的有点很不合适。譬如确实是10W条常见类型的页面列表这类的,你可以采用静态页面来定期更新。而不应该再用缓存存储这么大量的数据。。这时候你可以考虑数据库的性能优化方式和其他实现方式。 --------------------编程问答-------------------- 可以将数据库分为活动与不活动两个表, 查询时加个条件,按时间段查 --------------------编程问答-------------------- 如果你用IIS的缓存的话 他会根据你的系统情况 自动的来缓存的
你可以自己写一个缓存服务器 你可以百度 memcached 看一看
补充:.NET技术 , ASP.NET