在这种情况下我应该使用Wordpress Transient API吗?

时间:2013-03-02 20:32:50

标签: wordpress caching

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

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

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

以下是我的担忧: 1.在快速搜索之后,我意识到瞬态数据存储在wp_options表中,并且存储数据会立即使该表气球化。如果db变得庞大,这是否会导致重大性能问题? 2.创建这么多瞬态键这种可怕的做法吗?几个月后它很容易变成数千个。

如果使用Transient不是最好的方法,请你帮我指点正确的方向吗?谢谢!

P.S。我选择了Transients API和Options API。我知道邮政编码不会经常改变,但有时也会如此。我设定了3个月的到期时间。

1 个答案:

答案 0 :(得分:1)

较少膨胀的解决方案是:

  1. 在选项
  2. 中存储名为uszip的单个选项,其中包含序列化数组
  3. 每次抓取整个数组,只需检查邮政编码是否存在
  4. 如果不存在,请抓取数据并再次保存整个瞬态
  5. 考虑到美国存在43,000个邮政编码,你应该确保你没有达到这个表中的序列化数组的上限(9,000个元素)。但是,您很可能拥有非常本地化的邮政编码子集。