0

我正在为工作编写一个简单的 Wordpress 插件,我想知道在这种情况下使用 Transients API 是否实用,或者我是否应该寻找另一种方式。

该插件的目的很简单。我正在调用 USZip Web 服务 ( http://www.webservicex.net/uszip.asmx?op=GetInfoByZIP ) 以检索数据。我们的销售团队正在使用插件将在其上运行的 Lead Intake 表。

我想减少 API 调用的次数,所以我想为每个邮政编码设置一个瞬态作为键并存储传入的数据(城市和邮政编码)。如果给定邮政编码的相应数据已经存在,则无需进行 API 调用。

以下是我的担忧: 1. 快速搜索后,我意识到临时数据存储在 wp_options 表中,存储数据会立即使该表膨胀。如果数据库变得巨大,这会导致显着的性能问题吗?2. 创建这么多临时键是可怕的做法吗?它很容易在几个月内变成数千。

如果使用瞬态不是最好的方法,你能帮我指出正确的方向吗?谢谢!

PS 我选择了 Transients API 和 Options API。我知道邮政编码不会经常更改,但有时会更改。我设置了3个月的到期时间。

4

1 回答 1

1

一个不那么膨胀的解决方案是:

  1. 在选项内存储一个uszip使用序列化数组调用的选项
  2. 每次抓取整个数组并简单地检查邮政编码是否存在
  3. 如果它不存在,则抓取数据并再次保存整个瞬态

考虑到美国有 43,000 个邮政编码,您应该确保没有达到此表中序列化数组的上限(9,000 个元素)。但是,您很可能会有一个非常本地化的邮政编码子集。

于 2013-03-02T20:39:00.440 回答