关于asp.net缓存的问题,高分求教!!

sharpmanmbw 2011-12-19 09:13:21
1.asp.net可以把文件(xml,html,css,图片)缓存到内存吗?
2.如果1可以的话,那每次客户端请求时服务器就可以直接从内存读取文件,而不用从硬盘读取,速度应该能快不少,但这样的话又有一个问题:如果某个用户网速特别慢,从发起请求到缓存文件(比如xml或者html)下载完毕用了5,6秒,那么在这5,6秒期间这个缓存文件岂不是一直被该用户的连接占用,其他用户只能等待他下载完?这样岂不是形成了瓶颈?如果这样,能不能设置几个同样内容的缓存文件,当其中一个被某个用户占用时其他用户可以使用另外几个?
高手都来指教指教啊,不知我的理解对不对。
...全文
149 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
小河 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sharpmanmbw 的回复:]
那客户端直接用ajax读取硬盘里的xml文件,和通过ashx从cache提取xml文件,哪个效率更高
[/Quote]

应该是从cache内存里
sharpmanmbw 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sandy945 的回复:]
你需要先了解动态文件和静态文件的处理是不一样的

用asp.net为静态文件添加相应的缓存是完全没必要的
[/Quote]
那客户端直接用ajax读取硬盘里的xml文件,和通过ashx从cache提取xml文件,哪个效率更高
阿非 2011-12-20
  • 打赏
  • 举报
回复
你需要先了解动态文件和静态文件的处理是不一样的

用asp.net为静态文件添加相应的缓存是完全没必要的
xiaozhang1528008 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sandy945 的回复:]
你需要先了解动态文件和静态文件的处理是不一样的

用asp.net为静态文件添加相应的缓存是完全没必要的
[/Quote]

学习了
sorry7266511 2011-12-20
  • 打赏
  • 举报
回复
楼主说的应该是“缓冲”吧,缓冲在内存中!
缓存在本地硬盘中。
sharpmanmbw 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 icesun963 的回复:]
1。可行
2。关键字 锁定
ps:读取需要上独占锁么?
[/Quote]
啊,cache还可以锁定吗,怎么锁定?如果不锁定是不是可以有多个ashx程序同时读取同一个cache文件
逐风 2011-12-20
  • 打赏
  • 举报
回复
1。可行
2。关键字 锁定
ps:读取需要上独占锁么?
小河 2011-12-19
  • 打赏
  • 举报
回复
如果某个用户网速特别慢,从发起请求到缓存文件(比如xml或者html)下载完毕用了5,6秒,那么在这5,6秒期间这个缓存文件岂不是一直被该用户的连接占用,其他用户只能等待他下载完?这样岂不是形成了瓶颈?

不存在这个问题,
  • 打赏
  • 举报
回复
什么叫做“被当前客户占用”?你的机器的内存数据是被当前客户占用吗?
sharpmanmbw 2011-12-19
  • 打赏
  • 举报
回复
我的意思是用cache方法把xml缓存到服务器内存,然后客户端请求的时候服务器直接从内存读取xml文件(而不从硬盘读取),并发送到客户端浏览器,就是在这个发送过程中,这个缓存文件是否被当前客户占用,在开始发送到发送结束期间不能被别的客户端请求调用?不知我理解的对不对
快溜 2011-12-19
  • 打赏
  • 举报
回复
缓存是在自己的电脑上,请求是网站服务器的数据,你说的占用是什么意思,服务器只是处理数据发送。你没有发现第一次打开网页很慢,第二次打开相同网页的时候就很快了吗?

62,052

社区成员

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

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

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

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