Linux - LRU キャッシュとしてのディスク / ファイルシステム (透過的な有効期限付き)

Linux - LRU キャッシュとしてのディスク / ファイルシステム (透過的な有効期限付き)

別の Web サービス (S3 など) からの (ホット) ファイルの LRU キャッシュとしてローカル ディスクを使用したい場合があります。ファイルがディスク上に存在しない場合、ファイルはインターネット経由で読み取られ、ローカル ディスクに書き込まれ、その後のリクエストでは元のソースから読み取る代わりにローカル キャッシュを使用できます。

Web サービスに保存されるデータの量はローカル ストレージを超えるため、ストアがすでにいっぱいになっている場合は、新しいファイルが書き込まれるときにローカル ファイルを自動的かつ透過的に消去したいと考えています。可能であれば、ファイルが書き込まれていない場合に時間に基づいてキャッシュ アイテムを期限切れにする特別な理由はないため、atime をチェックして一定時間後にファイルを期限切れにする cron タスクがある状況は避けたいと思います。

私は、キャッシュを使用するアプリケーションに対して可能な限り透過的に、純粋にディスク バックアップ キャッシュ (SSD 上) と同様のものを実装できる tmpfs のようなものを探しましたが、この機能 (CacheFS が NFS に対して行う機能に似ていますが、より一般的な方法) を実装するものを見つけることができませんでした。

答え1

httpインターフェースで問題がなければ、nginxファイルキャッシュを試すこともできます。nginx コンテンツキャッシュ

関連情報