亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用內存緩存優化 WordPress 文章瀏覽統計效率的方法

發布時間:2020-10-13 15:06:12 來源:億速云 閱讀:99 作者:小新 欄目:建站服務器

使用內存緩存優化 WordPress 文章瀏覽統計效率的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

使用內存緩存優化 WordPress 文章瀏覽統計效率。

WordPress 默認的自定義字段緩存方式

一般的文章瀏覽統計插件,都是使用自定義字段來存儲數據的,如果服務器開啟了 Memcached 內存緩存,自定義字段的數據是怎么被緩存呢?WordPress 會以 $post_id 做為 cache_key,'post_meta' 作為 cache_group 整體進行緩存。

所以更新某個自定義字段,相當于該 $post_id 下的所有自定義字段的緩存都一起更新,而每次文章瀏覽,這個自定義字段數據都會加 1,這樣,每次自定義字段的緩存都會更新,然后就會造成每個頁面會多出三個 SQL 查詢。

使用內存緩存優化文章瀏覽統計效率

有沒有辦法解決這個問題呢?我們可以把文章的瀏覽統計先緩存到內存中,每次增加10次瀏覽才寫入數據庫中去,這樣就可以大大降低 WordPress 操作因為自定義字段變更而造成 SQL 查詢次數。

將上面的代碼復制到當前主題的 funtions.php 文件中:

// 更新文章瀏覽數的時候,首先更新到內存中,然后每10次,才寫到數據庫中
add_filter('update_post_metadata', function($check, $post_id, $meta_key, $meta_value){
if($meta_key == 'views'){
if($meta_value % 10 != 0){
$check= true;
wp_cache_set($post_id, $meta_value, 'views');
}else{
wp_cache_delete($post_id, 'views');
}
}
return $check;
}, 1, 4);
// 獲取文章瀏覽數的時候,首先從內存中獲取,沒有才從數據庫中獲取
add_filter('get_post_metadata', function($pre, $post_id, $meta_key){
if($meta_key == 'views'){
$views= wp_cache_get($post_id, 'views');
if($views !== false){
return [$views];
}
}
return $pre;
}, 1, 3);

另外可能存在一個小問題:由于 Memcached 的緩存不是持久的,如果不小心把將內存緩存的清空,文章的瀏覽數會丟失一部分,但是肯定少于10了。

WPJAM Basic 插件已經集成了 Memcached,下載 WPJAM Basic 之后,將 wpjam-basic/template/ 目錄下的 object-cache.php 文件復制到 wp-content 目錄下即可。

感謝各位的閱讀!看完上述內容,你們對使用內存緩存優化 WordPress 文章瀏覽統計效率的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

行唐县| 酉阳| 江华| 会昌县| 全椒县| 双辽市| 平山县| 永胜县| 东海县| 安塞县| 肃宁县| 韶关市| 兴城市| 蕉岭县| 邛崃市| 涿鹿县| 安达市| 奉新县| 永城市| 那坡县| 武穴市| 永福县| 临清市| 日照市| 舒城县| 霍州市| 台南市| 门源| 衢州市| 海宁市| 肇州县| 化德县| 新营市| 龙州县| 承德县| 兴文县| 通州市| 禄丰县| 固阳县| 自治县| 兴宁市|