WebMemcacheにちょっと機能追加した.
JSONPに対応
callbackを渡すとJSONPになる.クロスドメインでも使えるようになった.
callbackを渡せばなんでもよいので,JSを書けない環境でも,imgタグとかに入れておけば,リクエストを飛ばせる.
incr, decrに対応
/incr, /decrで値を1つずつ増やしたり減らしたりできる.
nullをいきなりincrすることはできないので,先に0かなにかをセットしておく必要がある.addすると,値がnullのときだけセットできるので,とりあえず合わせて呼んでおくとよいと思う.
JSONPと合わせて使うと,簡単にページのカウンターを作れる.
こんな感じ.
<img src="http://webmemcache.appspot.com/add?counter=0&namespace=test&callback=dummy"> <img src="http://webmemcache.appspot.com/incr?key=counter&namespace=test&callback=dummy">
このエントリのページにはimgタグが仕込んであるので,アクセスするたびにカウントが増えるようになっている.
値だけをgetできる
/rawにアクセスするとJSONにダンプされていない値をもらえる.content_typeも指定できるので,画像とかをキャッシュできるはず.
キャッシュが切れてなければ,下のURLで,このページのアクセス数を見ることができる.
値がないときだけsetできる
/addを使うと,値がないときだけsetできる.
返り値はsetとちがって,setできたtrue, 既に値が入っていて,setしなかったときは,falseが返る.
初期値をsetするのに使える.
({namespace:"test", data:{foo:false, bar:false}})
その他
キャッシュは全世界で共有されるので,人とキーが被っておかしくなったり,悪意のある人に書き換えられたりする可能性がある.