69久久夜色精品国产69乱青草_国产高清日韩_亚洲一二三四区不卡_亚洲国产成人av网

  • 您好!歡迎來到金點子源碼網!
  • 登錄 注冊

源碼網_提供網站源碼、discuz、wordpress主題與插件和站長教程等資源的下載服務

易優cdn閱讀量不變的緩存規則

在使用 易優CMS(Youzhicms) 搭配 CDN 加速服務 時,如果遇到 文章閱讀量(點擊數)不增加或不變 的問題,這通常是由于 CDN 緩存機制將整個頁面(包括動態的閱讀統計接口)也緩存了,導致每次訪問都返回緩存內容,而沒有真正執行“閱讀+1”的 php 動作。以下是系統解決方案:

一、問題根源分析

CDN緩存機制與閱讀量沖突

<PRe class="ybc-pre-component ybc-pre-component_not-math">用戶請求 → CDN返回緩存頁面 → 閱讀量JS不執行 → 計數不變 正常流程:用戶請求 → 服務器處理 → 執行閱讀量JS → 更新數據庫

二、解決方案匯總

方案1:動態URL繞過緩存(推薦)

<!-- 在文章詳情模板添加時間戳參數 -->
<script src="{:url('API/Article/views', ['id'=>$arcid, 't'=>time()])}"></script>

<!-- 或使用隨機數 -->
<script>
var random = Math.random() * 10000;
var url = "{:url('api/Article/views', ['id'=>$arcid])}&AMP;r=" + random;
document.write('<script src="' + url + '"><\/script>');
</script>

方案2:CDN緩存規則配置

阿里云CDN配置:

<!-- 設置不緩存閱讀量相關文件/URL -->
緩存規則:
1. 文件類型:不緩存 .php 動態文件
2. 目錄規則:不緩存 /api/ 目錄
3. URL參數:忽略特定參數(如 view、click)

具體設置:
位置:CDN控制臺 → 域名管理 → 緩存配置
規則:/api/*.php?*  → 緩存時間 0秒
規則:/news/*.Html?view=* → 緩存時間 0秒

騰訊云CDN配置:

1. 目錄刷新規則:
   - 文件類型:.php
   - 緩存時間:0秒
   
2. 節點緩存規則:
   - 添加規則:/api/article/views*
   - 緩存行為:不緩存

方案3:AJAX異步更新(最可靠)

// 在文章頁面底部添加
<script>
$(function(){
    // 方法1:直接AJAX請求
    $.ajax({
        url: '/api/article/views',
        type: 'POST',
        data: {id: {$arcid}},
        dataType: 'json',
        success: function(res){
            console.log('閱讀量已更新');
        }
    });
    
    // 方法2:圖片方式(兼容性最好)
    var img = new Image();
    img.src = '/api/article/views?id={$arcid}&t=' + new Date().getTime();
});
</script>

image.png

三、易優官方閱讀量機制優化

1. 修改閱讀量更新邏輯

// 文件位置:application/common/model/Article.php
// 修改 getViews 方法或新增獨立方法

public function updateViews($id){
    // 使用Redis或Memcached減少數據庫壓力
    $key = 'article_views_' . $id;
    
    // 方案A:使用Redis計數
    if(cache($key)){
        cache($key, cache($key) + 1, 3600);
    } else {
        $views = $this->where('arcid', $id)->value('click');
        cache($key, $views + 1, 3600);
    }
    
    // 定時寫入數據庫(如每10次更新一次)
    if(cache($key) % 10 == 0){
        $this->where('arcid', $id)->inc('click', 10)->update();
    }
}

2. 創建獨立接口

// 創建 application/api/controller/Article.php
public function views(){
    $id = input('id/d', 0);
    if($id){
        // 防刷機制
        $ip = request()->ip();
        $cacheKey = 'view_ip_' . md5($ip . '_' . $id);
        
        if(!cache($cacheKey)){
            Db::name('archives')->where('arcid', $id)->inc('click')->update();
            cache($cacheKey, 1, 300); // 5分鐘內不重復計數
        }
        
        return json(['code'=>1, 'msg'=>'success']);
    }
}

四、CDN緩存規則詳細配置

Nginx + CDN 配置方案

# 在Nginx配置中添加
location ~* \.php$ {
    # 添加緩存頭控制
    add_header Cache-Control "private, no-cache, no-store, must-revalidate";
    add_header Pragma "no-cache";
    add_header Expires 0;
    
    # 針對閱讀量接口特殊處理
    if ($request_uri ~* "/api/article/views") {
        expires -1;
        add_header Cache-Control "no-cache";
    }
}

# 設置CDN緩存規則
location ~* \.(html|htm)$ {
    # 帶參數的頁面不緩存
    if ($args ~* "view=|update=") {
        set $no_cache 1;
    }
    
    expires 1h;
    add_header Cache-Control "public";
}

.htaccess 方案(Apache)

# 防止CDN緩存閱讀量相關URL
<IfModule mod_headers.c>
    # 閱讀量接口不緩存
    <FilesMatch "(views|click|update)" >
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires 0
    </FilesMatch>
    
    # 靜態頁面緩存
    <FilesMatch "\.(html|htm)$">
        Header set Cache-Control "max-age=3600, public"
    </FilesMatch>
</IfModule>

五、云服務商具體配置

阿里云CDN:

1. 控制臺 → CDN → 域名管理 → 緩存配置
2. 添加緩存規則:
   - 規則類型:目錄
   - 規則內容:/api/
   - 緩存時間:0
   - 優先級:最高
3. 添加文件類型規則:
   - 規則類型:文件后綴名
   - 規則內容:php
   - 緩存時間:0

騰訊云CDN:

1. 控制臺 → CDN → 域名管理 → 緩存配置
2. 節點緩存過期配置:
   - 文件類型:.php
   - 不緩存
3. 目錄刷新:
   - 刷新路徑:/api/*
   - 刷新類型:刷新變更資源

又拍云CDN:

1. 服務 → 功能配置 → 緩存控制
2. 設置不緩存規則:
   - 路徑:^/api/
   - 行為:不緩存
3. 設置邊緣規則:
   - 匹配:$URI ~ "\.php"
   - 設置header:Cache-Control: no-cache

六、閱讀量統計優化方案

1. 客戶端延遲加載

// 頁面加載完成后才發送閱讀量請求
window.addEventListener('load', function(){
    setTimeout(function(){
        var script = document.createElement('script');
        script.src = '/api/article/views?id={$arcid}&_' + Date.now();
        document.body.appendChild(script);
    }, 3000); // 延遲3秒,確保頁面被看到
});

2. 服務端聚合更新

// 定時任務批量更新閱讀量
// 創建定時任務文件 application/cron/UpdateArticleViews.php

class UpdateArticleViews {
    public function run(){
        $redis = \think\facade\Cache::store('redis');
        $keys = $redis->keys('article_views_*');
        
        foreach($keys as $key){
            $id = str_replace('article_views_', '', $key);
            $views = $redis->get($key);
            
            if($views > 0){
                Db::name('archives')->where('arcid', $id)
                    ->inc('click', $views)
                    ->update();
                $redis->set($key, 0); // 重置為0
            }
        }
    }
}
// 配置定時任務每10分鐘執行一次

七、驗證與測試

測試步驟:

  1. 清理CDN緩存

    # 刷新CDN緩存
    curl -X POST "https://cdn.aliyuncs.com/?Action=RefreshObjectCaches" \
         -d "ObjectPath=你的域名/api/*" \
         -d "ObjectType=Directory"
  2. 測試閱讀量更新

    // 控制臺測試
    fetch('/api/article/views?id=文章ID')
      .then(res => console.log(res))
      .catch(err => console.error(err));
  3. 檢查緩存頭

    curl -I "https://你的域名/news/1.html"
    # 檢查Cache-Control、X-Cache等頭部

八、最佳實踐建議

  1. 分離計數與內容

    • 閱讀量通過獨立API更新

    • 頁面內容可被CDN緩存

  2. 設置合理的緩存策略

    首頁:緩存1小時
    列表頁:緩存30分鐘
    詳情頁:緩存10分鐘
    動態接口:不緩存
  3. 監控與報警

    • 監控閱讀量增長異常

    • 設置CDN命中率報警

    • 定期檢查緩存規則

  4. 備用方案

    • 準備無CDN的閱讀量接口

    • 實現客戶端本地計數+定時同步

    • 使用第三方統計工具(如CNZZ)作為補充

九、故障排除清單

  • [ ] CDN配置是否生效(檢查響應頭)

  • [ ] 閱讀量接口是否可正常訪問

  • [ ] 是否有防刷機制干擾

  • [ ] 數據庫更新權限是否正常

  • [ ] 服務器時間是否同步

  • [ ] 防火墻是否攔截API請求

通過上述方案,可徹底解決CDN緩存導致的閱讀量不更新問題。推薦使用方案3(AJAX異步更新) 配合CDN緩存規則配置,實現最優效果。

本文鏈接:http://www.373753.com/xinwendongtai/2118.html

版權聲明:站內所有文章皆來自網絡轉載,只供模板演示使用,并無任何其它意義!

聯系客服
網站客服 業務合作 在線客服QQ
294169012
微信號
微信號
微信號
返回頂部
69久久夜色精品国产69乱青草_国产高清日韩_亚洲一二三四区不卡_亚洲国产成人av网
日韩免费看的电影| 一区二区在线观看免费视频播放| 国产日产欧产精品推荐色| 亚洲精品免费一二三区| 久久国产成人午夜av影院| 91丨porny丨首页| 久久综合狠狠综合久久综合88| 一区二区三区四区中文字幕| 国产成人综合网| 精品美女被调教视频大全网站| 亚洲九九爱视频| 国产69精品久久99不卡| 日韩三级精品电影久久久| 亚洲不卡在线观看| 一本色道综合亚洲| 国产精品国产三级国产普通话蜜臀| 精品一区二区三区日韩| 欧美精品在线视频| 亚洲成人免费影院| 91国产丝袜在线播放| 亚洲欧美视频在线观看视频| 国产精品亚洲第一区在线暖暖韩国 | 国产超碰在线一区| 久久久99精品免费观看| 日韩av电影免费观看高清完整版| 欧美精品aⅴ在线视频| 欧美人妇做爰xxxⅹ性高电影| 久久久久97国产精华液好用吗| 国产欧美日产一区| 欧美日韩精品专区| 91免费看`日韩一区二区| 成人激情开心网| 亚洲国产成人高清精品| 亚洲精品va在线观看| 中文字幕在线视频一区| 国产欧美日产一区| 亚洲第一激情av| 国产精品资源网站| 欧美精品一区二区三区四区| 欧美精品一区二区在线播放| 精品视频1区2区| 久久久久久一级片| 美女视频一区在线观看| 午夜精品爽啪视频| 日韩视频免费直播| 国产精品18久久久| 久久成人免费日本黄色| 欧美日韩色综合| av电影在线观看一区| 国产精品女同一区二区三区| 91黄色激情网站| 制服丝袜国产精品| 国产精品亚洲а∨天堂免在线| 国产视频在线观看一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 日韩av在线免费观看不卡| 激情文学综合网| 久久免费精品国产久精品久久久久| 国产老妇另类xxxxx| 中文字幕中文字幕一区二区| 欧美性受xxxx黑人xyx性爽| 蜜桃视频在线观看一区二区| 久久久久国产一区二区三区四区 | 久久久亚洲国产美女国产盗摄| 久久69国产一区二区蜜臀| 欧美成人aa大片| caoporn国产一区二区| 午夜精品久久久久久久99樱桃| 26uuu另类欧美| 色综合网站在线| 国内精品免费**视频| 一区二区国产盗摄色噜噜| 欧美一区二区在线免费观看| 国产成人av电影免费在线观看| 一区二区三区精品| 久久网这里都是精品| 在线观看一区二区视频| 国产xxx精品视频大全| aaa欧美大片| 成人av免费观看| 婷婷综合久久一区二区三区| 国产亚洲成aⅴ人片在线观看| 欧美探花视频资源| 福利视频网站一区二区三区| 免费高清视频精品| 亚洲欧洲成人精品av97| 欧美成人性战久久| 欧美丝袜丝nylons| 91美女片黄在线| 成人午夜在线视频| 国产成人在线视频网址| 麻豆精品国产传媒mv男同| 亚洲成人av电影在线| 亚洲啪啪综合av一区二区三区| 国产性色一区二区| 99精品视频在线播放观看| 国产精品视频你懂的| 欧美电影影音先锋| 欧美调教femdomvk| 91高清在线观看| 成人av在线网站| 成人污污视频在线观看| 久久99热国产| 久久精品国产精品亚洲红杏| 偷拍与自拍一区| 手机精品视频在线观看| 亚洲午夜av在线| 一区二区三区日韩欧美| 一区二区三区欧美日| 亚洲免费在线视频一区 二区| 欧美国产成人在线| 久久久国产精品午夜一区ai换脸| 欧美成人猛片aaaaaaa| 中文欧美字幕免费| 久久午夜国产精品| 97精品久久久久中文字幕| 自拍偷在线精品自拍偷无码专区 | 不卡电影一区二区三区| 丝袜脚交一区二区| 久久这里只有精品视频网| 日韩午夜激情视频| 精品1区2区3区| 精品婷婷伊人一区三区三| 精品福利视频一区二区三区| 国产成人av影院| 日本三级亚洲精品| 精品一区二区三区免费毛片爱 | 波多野洁衣一区| av网站免费线看精品| 91视频国产资源| 在线亚洲一区观看| 欧美一级日韩一级| 久久一区二区三区四区| 国产日韩欧美一区二区三区综合| 国产亚洲精品7777| 亚洲色图欧美激情| 亚洲成人精品一区| 国产婷婷精品av在线| 欧美午夜精品一区| 日韩一区二区在线免费观看| 精品少妇一区二区三区在线播放| 久久久久久久综合狠狠综合| 久久久精品tv| 一区二区三区高清| 日本午夜精品一区二区三区电影| 黄色小说综合网站| 色av一区二区| 福利一区福利二区| 极品少妇一区二区| 久久精品av麻豆的观看方式| 国产乱码一区二区三区| 成人激情文学综合网| 欧美无砖砖区免费| 欧美国产精品中文字幕| 中文欧美字幕免费| 91极品美女在线| 亚洲男人的天堂网| 美女视频网站黄色亚洲| 成人爽a毛片一区二区免费| 在线看不卡av| 国产午夜精品一区二区三区视频| 亚洲一区二区在线视频| 另类中文字幕网| 欧美影院精品一区| 亚洲国产精品av| 亚洲高清中文字幕| 成人综合激情网| 欧美一区二区女人| 国产清纯美女被跳蛋高潮一区二区久久w | 日韩av二区在线播放| www.激情成人| 日韩欧美国产一二三区| 亚洲午夜av在线| 不卡一区二区中文字幕| 国产精品一卡二卡在线观看| 免费一级欧美片在线观看| 韩国成人在线视频| 国产99精品国产| 在线播放国产精品二区一二区四区| 日韩一区二区三区视频| 国产精品久久久久久一区二区三区 | 亚洲免费观看高清完整版在线观看熊| 久色婷婷小香蕉久久| 欧美视频一区在线| 亚洲男同性视频| youjizz国产精品| 欧美国产丝袜视频| 成人小视频免费观看| 国产视频在线观看一区二区三区| 男人的j进女人的j一区| 538prom精品视频线放| 亚洲成人综合在线| 精品视频在线免费| 天天综合网 天天综合色| 欧美午夜寂寞影院| 一二三区精品视频| 欧美日韩亚洲不卡| 日本三级亚洲精品| 欧美成人aa大片| 国产一级精品在线|