MD5 生成过热 - Web API
MD5 generation overheat - Web API
为了使其简短而坚定:
我有一个 api 其中 returns 一个特定文件的 md5。这些文件大约有 50 - 100 MB 大。现在我的问题是:
什么需要更少 resources/is 文体更好:
- 为每个 GET 生成文件的 md5
- 在第一次 GET 请求时生成 md5,并使用
FileSystemWatcher
观察文件的变化,如果文件发生变化则刷新 md5
有人告诉我多次生成 md5 可能会 产生过热。
第二个选项总是更快,具体取决于文件更改的频率。
您拥有的处理消耗最多的操作是 MD5 哈希。如果你别无选择,只能用 MD5 对文件进行哈希处理,你应该尽你所能减少这样做的次数。理想的情况是只执行一次,这正是选项 2 所做的。
假设文件不会更改,但即使您每 5 分钟更改一次文件,产生过热的机会肯定比选项 1 低得多。
最好的方法是预先计算出MD5,并将MD5与主文件一起保存。
在第一次调用时动态计算它会增加可以轻松避免的复杂性和处理时间。
为了使其简短而坚定:
我有一个 api 其中 returns 一个特定文件的 md5。这些文件大约有 50 - 100 MB 大。现在我的问题是:
什么需要更少 resources/is 文体更好:
- 为每个 GET 生成文件的 md5
- 在第一次 GET 请求时生成 md5,并使用
FileSystemWatcher
观察文件的变化,如果文件发生变化则刷新 md5
有人告诉我多次生成 md5 可能会 产生过热。
第二个选项总是更快,具体取决于文件更改的频率。
您拥有的处理消耗最多的操作是 MD5 哈希。如果你别无选择,只能用 MD5 对文件进行哈希处理,你应该尽你所能减少这样做的次数。理想的情况是只执行一次,这正是选项 2 所做的。
假设文件不会更改,但即使您每 5 分钟更改一次文件,产生过热的机会肯定比选项 1 低得多。
最好的方法是预先计算出MD5,并将MD5与主文件一起保存。
在第一次调用时动态计算它会增加可以轻松避免的复杂性和处理时间。