我的网站正在加速由于响应我的Redirect301网址,我已经保存在一个表的延迟。每当我的网站的任何网址被访问时,我首先从包含1939行的Redirect301表中搜索旧URL,这种匹配正在减缓我的网站速度。OldURl列中URL的最大长度为129个字符,我的站点平均每天访问1000次。
我怎样才能加速我的网站?请提供解决方案或建议下列选项之一。
选项1.将该表放置在DataTable中,并将其缓存到内存中?
选项2.通过计算旧URL的哈希代码,然后计算访问URL的hashcode,将其与OLDURL列匹配,然后重定向到新URL?但是GetHashCode()总是不会生成相同的值,而且两个不同的字符串可以具有相同的HashCode.请参阅以下三个网址
C Sharp -相等与GetHashCode
GetHashCode指南和规则
WebServer: IIS7
数据库MS SQL Server 2005。全文索引和搜索已安装并运行。
选项3.根据选项2计算MD5哈希?
选项4.应用全文索引并使用包含来匹配记录。
Select NewURL from Redirec301 where contains(OLDURL,"http://www.MySite.Com/OLD-URL")
感谢并致以最诚意的问候
我的数据库Redirect301表:
Redirect301表结构详细信息:
发布于 2013-12-10 14:48:46
嗯,我用的是下面的方式,而且它的工作效果很好。
在ApplicationStart事件中-我为我的所有URL创建了字典,以旧URL作为键,以新URL作为值。已将此字典放入应用程序变量中
现在,我在this request上调用一个方法,该方法检查字典中是否有Old_Url。
https://stackoverflow.com/questions/19708057
复制相似问题