91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

使用內存緩存優化 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

唐河县| 阜宁县| 惠水县| 洛阳市| 岫岩| 堆龙德庆县| 尚义县| 宝坻区| 买车| 朝阳区| 玛纳斯县| 渭源县| 黔西县| 惠来县| 临朐县| 潮州市| 四平市| 陇南市| 招远市| 密云县| 古蔺县| 台东县| 郓城县| 东莞市| 达日县| 阳曲县| 松阳县| 如皋市| 武夷山市| 湘阴县| 资兴市| 蕉岭县| 沙坪坝区| 琼结县| 揭阳市| 闽清县| 盖州市| 定襄县| 图木舒克市| 搜索| 安塞县|