前回は ウェブキャッシュサーバnuster入門-1(基本) とウェブキャッシュサーバnuster入門-2(Purge)でnusterを簡単に紹介しました。今回はcache管理について紹介したいと思います。
仕様は変更されるかもしれないので、最新のものはhttps://github.com/jiangwenyuan/nuster/blob/master/README.md を参照してください。
cache 管理
cacheはランタイムでAPIで管理できます。まずはuri
を定義する:
nuster cache on uri /nuster/cache
そして、このURIにたいしてHTTPを投げることで、管理できます。
cacheを有効無効にする
headers
header | value | description |
---|---|---|
state | enable | 有効にする |
disable | 無効にする | |
name | nuster-rule NAME | NAMEという名前のcache-ruleを有効無効にする |
proxy NAME | NAMEという名前のProxyのすべてのcache-ruleを | |
* | すべてのcache-rulesを |
Examples
-
cache-rule r1を無効にする
curl -X POST -H "name: r1" -H "state: disable" http://127.0.0.1/nuster/cache
-
proxy app1bのすべてのcache-ruleを無効
curl -X POST -H "name: app1b" -H "state: disable" http://127.0.0.1/nuster/cache
-
すべてのcache-ruleを有効
curl -X POST -H "name: *" -H "state: enable" http://127.0.0.1/nuster/cache
TTL
cacheのTTLを変更する、既存のキャッシュは変更されません。
headers
header | value | description |
---|---|---|
ttl | new TTL | TTLに変更 |
name | cache-rule NAME | NAMEという名前のcache-ruleのTTLを変更 |
proxy NAME | NAMEという名前のProxyのすべてのcache-ruleを | |
* | すべてのcache-rulesを |
Examples
curl -X POST -H "name: r1" -H "ttl: 0" http://127.0.0.1/nuster/cache
curl -X POST -H "name: r2" -H "ttl: 2h" http://127.0.0.1/nuster/cache
stateとTTLを同時に変更
curl -X POST -H "name: r1" -H "ttl: 0" -H "state: enabled" http://127.0.0.1/nuster/cache
stats
curl http://127.0.0.1/nuster/cache
Output
- used_mem: HTTPリスポンスが使っているメモリ
- req_total: トータルrequest数、cacheが有効にしてないproxyのrequestは含まない
- req_hit: cache hitのrequest数
- req_fetch: バックエンドから取得して返すrequest数
- req_abort: abrotしたrequest数