本文章來為各位介紹一篇關于WordPress的對象緩存介紹和使用方法的教程,希望讓各位不了解WordPress的對象緩存的朋友帶來幫助。
WordPress 對象緩存的函數
使用 WordPress 對象緩存技術其實是非常簡單的:
使用 wp_cache_set() 把數據寫到緩存中。
使用 wp_cache_get() 到緩存中讀取數據。
使用 wp_cache_delete() 刪除緩存。
這些函數會涉及到的四個參數:
$key: 對象的 key。
$data: 要存的值。
$group: 分組,可選參數,用來把緩存對象就行分組。
$expire: 過期時間,可選參數,如果是默認緩存,這個函數沒用,如果是內存緩存,是設置緩存的時間,單位是秒,默認為0(0的意思就是永遠,不會自動過期).
使用 WordPress 對象緩存,下面以我即將更新 WordPress 相關日志插件為例,講講如何使用 WordPress 對象緩存:
我們知道 WordPress 相關日志插件是通過 tag 和分類來獲取相關日志,相同的 tag 和分類越多,相關性越強,這樣就需要進行多個表聯合查詢來獲取相關日志,這樣效率其實是比較慢的。但是一個日志它的相關日志一段時間內是不會變動的,所以 我們就可以使用 WordPress 對象緩存對相關日志進行加速。
下面是把把相關日志的數據寫入緩存的例子,使用當前 post ID 作為 key,’related_post’作為 group,緩存時間為一個小時,即 3600 秒.
- global $post;
- $related_posts_data = wp_get_related_posts();//Vevb.com
- wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);
上面只是把數據存到緩存對象中,我們在顯示相關日志的時候,就要去調用這個對象緩存來使用,首先檢查下是否已經有了緩存,如果你要的信息沒有在緩存中,或者已經過期了。wp_cache_get() 會返回 false,如果這樣,你就要去數據庫中重新獲取這些信息。否則就返回在緩存中的信息。
- global $post;
- $related_posts_data = wp_cache_get($post->ID,'related_posts');
- if(false === $related_posts_data){
- $related_posts_data = wp_get_related_posts();
- wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);
- }
- echo $related_posts_data;
因為設置了一個小時,相關日志的數據就失效,這里一般就無需更新緩存了,如果你在后臺更改了設置,需要立即清理緩存,可以使用 wp_cache_delete 進行清理:
wp_cacache_delete($post->ID,'related_posts');
新聞熱點
疑難解答
圖片精選