2013.01.07   |   PHP

さくらレンタルサーバーで擬似キャッシュ

外部URLからデータを取得して利用するようなページの場合、

アクセスのたびに利用データを取ってくるのは当然非効率です。
こうした場合、普通ならメモリキャッシュを使ったりDBを使ったりして、
外部からデータを取得するコストを下げます。
 
しかし、さくらのレンタルサーバーではAPCのようなメモリキャッシュ構造が使えません。
そこで解決策としてメモリキャッシュの代わりに、
ファイルキャッシュを使って擬似的にキャッシュすることで解決しました

http://h19e.jugem.jp/?eid=58

PHPでのファイルキャッシュ方法はこちら。
他の言語でも同じような感じで実装できそうです。
ファイルキャッシュであればレンタルサーバーのように
権限が制限されているサーバーでも簡単に導入できます。
(必要なのはファイルの読み書き権限だけ)
安全のため、キャッシュのディレクトリはWebRootの外に置きましょう。
 
ただメモリキャッシュと違い、ファイルキャッシュは遅いです。
あくまで外部URLからの取得コストを下げる、
みたいな用途でしか向かないと思います。
ちょっとした計算なら毎回走らせたほうが軽そうですし、
素直にDBを使った方が良い場面も多いと思います。