【发布时间】:2014-10-15 08:43:40
【问题描述】:
我正在努力更好地了解Gmail API。 Gmail API 的stated benefits 之一是它可以“提供比 IMAP 显着的性能改进”。 Gmail API 和协议的哪些方面使其比 IMAP 更高效?
【问题讨论】:
我正在努力更好地了解Gmail API。 Gmail API 的stated benefits 之一是它可以“提供比 IMAP 显着的性能改进”。 Gmail API 和协议的哪些方面使其比 IMAP 更高效?
【问题讨论】:
Gmail API 效率更高的另一个原因是它只需要下载每封邮件一次。
使用 IMAP,每封邮件必须多次下载和索引,每个 Gmail 标签(即 IMAP 文件夹)一次。
post at Metaspike 发现了这些差异以及更多差异,包括身份验证和数据类型。
【讨论】:
例如,IMAP 具有“邮箱”的概念,并且支持这意味着为每条消息存储一个序列号。在 Gmail 的 IMAP 中,由于每个标签都是一个文件夹,这意味着我们需要在每个标签中保留每条消息的序列。对于可能包含 1,000,000 条消息的“所有邮件”之类的内容,很难在服务器中跟踪。
线程之类的东西对于 IMAP 来说也是陌生的,但在 Gmail 中是原生的。 Gmail 后端经过优化以支持线程,就像 Gmail API 一样。如果您想检索线程中的所有消息,只需在 API 中进行一次调用。
显着的性能改进适用于 API 有意义的用例(例如 Web 和移动应用程序)。如果您想同步整个邮箱,IMAP 可能会提供同样出色或更好的性能,因为它能够缓存经过身份验证的连接等。
【讨论】:
回答这个问题的最佳方法是将Gmail API docs 与IMAP protocol specification 进行比较,看看它们允许哪些类型的操作。任何可以让你
将提供性能改进。
一些具体的例子:(我只是涉足 IMAP 并且没有使用 Gmail API 的经验,所以我的例子可能无效。就像我说的,readdocs 完整的故事。)
【讨论】: