0

由于我保存在表格中的 Redirect301 URL 响应延迟,我的网站正在加速。每当访问我网站的任何 URL 时,首先我从包含 1939 行的 Redirect301 表中搜索 OLD Url,这种匹配会降低我的网站速度。OldURl 列中 URL 的最大长度为 129 个字符 我的网站的平均访问量是每天 1000 次访问。

我怎样才能加快我的网站?请提供解决方案或建议以下任一选项。

选项 1. 通过将此表放在 DataTable 中,并将其缓存在内存中?

选项2.通过计算OLD URL的hashcode,然后计算访问URL的HashCode,将其与OLDURL Column匹配并重定向到NEW URL ? 但是 GetHashCode() 始终不会生成相同的值,并且两个不同的字符串可以具有相同的 HashCode...请参考以下三个 URL

我可以使用 GetHashCode 进行所有字符串比较吗

C Sharp - Equals 和 GetHashCode

GetHashCode 指南和规则

网络服务器:IIS7

数据库 MS SQL Server 2005。全文索引和搜索已安装并正常工作

选项 3. 通过根据选项 2 计算 MD5 哈希?

选项 4. 应用全文索引并使用包含来匹配记录。

Select NewURL from Redirec301 where contains(OLDURL,"http://www.MySite.Com/OLD-URL")

谢谢和最好的问候

我的数据库的 Redirect301 表: 我的数据库的 Redirect301 表

Redirect301 表结构详细信息: Redirect301 表结构详细信息

4

1 回答 1

0

好吧,我正在使用以下方式并且效果很好

在 ApplicationStart 事件中 - 我为我的所有 URL 创建了字典,旧 URL 作为键,新 URL 作为值。已将此字典放入应用程序变量中

现在我在being-request上调用一个方法来检查这个字典中的Old_Url

于 2013-12-10T14:48:46.193 回答