問題は、キャッシュの有効期限が切れているかどうかを確認するときに、それを効率的に行う方法です。
本当に基本的なデモで説明できますか?
コード サンプル: キャッシュの有効期限が切れているかどうかを確認する
DEFINE('time_to_live',60);
class MyCacheManager {
function load(key) {
if(filemtime(/data/cache/key.dat) > time_to_live) {
//expired!
}
}
}//CLASS
データをキャッシュする方法はたくさんあります。RAM、ディスクなどに保存できます。要件を満たすものが見つからなかったため、タスクに必要なものに応じて memcache/apc/filesystem を使用する独自のカスタム ソリューションを作成しました。PEAR_CacheLiteとZend_Cacheを使用したキャッシングの例をいくつか見ることができます。前述の hobodave のように、apc には ttl を使用してデータをキャッシュに入れる非常に簡単な方法がありますが、アプリケーションによっては実用的ではない場合があります。これらにはそれぞれいくつかの問題があるため、購入者は注意してください。
場合によります。
最善の方法は、静的データを生成し、それを直接提供することです (たとえば、リダイレクトを介して.htaccess
)。したがって、php は何もしません。新しい投稿を追加したときなど、データが変更されたときにキャッシュの有効期限が切れます (その後、古いものを上書きする新しい静的ファイルを生成します)。
特定の期間にキャッシュを更新する必要がある場合は、2 レベルのキャッシュ パターンを実装することをお勧めします。