1

ページには 2 つのキャッシュがあります。1 つは PC Web ブラウザ用、もう 1 つはモバイル ブラウザ用です。

nginx はこれを完璧に行うことができます。以下は、nginx conf コンテンツの一部です。

map $http_user_agent $device_type {
    default 'pc';
    ~(iPhone|Android|IEMobile|Balckberry) 'mobile';
}

#fast cgi cache def
fastcgi_cache_path  /data0/nginx-1.2.6/cache levels=1:2 keys_zone=nginx_webpy_cache:30m inactive=1d;

fastcgi_temp_path /data0/nginx-1.2.6/cache/temp;
fastcgi_cache_key "$request_method$scheme$host$request_uri$device_type$is_args$args";
#end

ご覧のとおり、2 つのキャッシュ バージョンのキャッシュ キーに $device_type を配置します。

しかし、私はこのconfで見つけました.nginxキャッシュをパージできません。これらの 2 つのキャッシュ バージョンを削除するにはどうすればよいですか?

どうもありがとう。

4

1 に答える 1

3

この質問を解決しました。

フォローは私の解決策です。

最初に nginx.conf の http スコープにマップを追加します。

map $http_user_agent $device_type {
    default 'pc';
    ~(iPhone|Android|IEMobile|Balckberry) 'mobile';
}

次のように、fastcgi キャッシュ キーを編集する必要があります。

  #fast cgi cache def
  fastcgi_cache_path  /data0/nginx-1.2.6/cache levels=1:2 keys_zone=nginx_webpy_cache:30m inactive=1d;

  fastcgi_temp_path /data0/nginx-1.2.6/cache/temp;

  fastcgi_cache_key "$scheme$request_method$host/$device_type$request_uri$is_args$args";
  #end

変数 $device_type をキャッシュ キーに配置します。現在、PC とモバイルではキャッシュ バージョンが異なります。

注意: キャッシュをパージする必要がある場合は、2 番目のバージョンをパージする必要があります。

あなたが中国人なら、次の記事を見てください:

ユーザー エージェントが異なる nginx キャッシュ

于 2013-05-21T13:40:43.820 に答える