根据站点设置,瞬态可能存储在内存缓存中,避免了DB查找的需要。因此,最好继续使用它们,但也将最后一个良好的API响应存储在其他地方,以便回退。
我会使用Wordpress Options API (get\\u选项和update\\u选项)执行此操作,只需在下面使用瞬态函数的地方添加相关代码。请注意Transients are also created by WP using Option functions.
设置transient时,还将执行update\\u选项(如果id不存在,也将创建该选项)。update_option(\'my_fallback_data\', $my_good_api_response);
当瞬态过期且API响应节流时,则:
$fallback_data = get_option(\'my_fallback_data\');
// NB. if option doesn\'t currently exist $fallback_data === false
如果此回退有一个可接受的最大年龄,那么您可以在1中创建一个额外的“选项”。用于存储时间,例如。
update_option(\'my_fallback_data_expiry\', time() + 86400); // now + 1 day
然后根据上面2中的当前时间检查“my\\u fallback\\u data\\u expiry”