我想弄清楚我正在构建的website缓存的最佳方法。它很大程度上依赖于屏幕上的维基百科网站。下面是我目前在做的过程:为asp.net寻找正确的缓存和压缩策略
- 用户通过我的网站请求来自维基百科的一个主题(即http://www.wikipedia.org/wiki/Kevin_Bacon将http://www.wikipediamaze.com/wiki?topic?=Kevin_Bacon)注:由于IIS不能处理requests that end in a '.'我被迫使用查询字符串看参数
- 检查,如果我已经存储在使用HTML在我的数据库,如果它不那么只需将它显示给用户
- 否则,我执行Web请求维基百科
- 解压缩,如果需要的流。
- 做一堆DOM操作来摆脱我不需要的东西(并注入我需要的东西)。
- 存放在我的数据库的HTML将来的请求
- 返回HTML浏览器
因为它依赖于屏幕抓取和DOM操作我试图让事情尽快让我只需要做它每个主题一次,而不是每个请求。这里是我的问题:
- 有没有更好的方式做缓存或我可以做的其他事情来帮助表演?
- 我知道asp.net内置了缓存机制,但它会以我需要的方式工作吗?我不想从每个请求的数据库中检索html(很重),但是我需要存储html,以便每个用户都可以得到相同的页面。我只想从维基百科获得数据1次。
- 有什么我可以做的压缩,以更快地得到它的浏览器,如果是的话可以浏览器处理uncmopressing和显示HTML?或者这甚至不是一个考虑因素。我问的唯一原因是,因为维基百科的某些页面通过HttpWebRequest发送给我,并以gzip流的形式发送。
任何和所有的建议,指导等,非常感谢。
谢谢!