2

セカンダリ ストレージのみをキャッシュとして使用し、プライマリ ストレージを完全にスキップするように Ccache を構成するにはどうすればよいですか?


私たちの CI パイプラインは、コンテナーを使用して、C++ アプリケーションをコンパイルおよびビルドします。Ccache を使用してビルド時間を短縮し、キャッシュをすべてのパイプラインで共有したいと考えています。このためには、Ccache のセカンダリ ストレージ オプションが理想的ですが、プライマリ ストレージ (ローカル キャッシュ) を完全にスキップするように Ccache を構成する方法がわかりません。

Ccache がすぐにセカンダリ ストレージにアクセスできるようにしたいのですが、ローカル キャッシュが最初にキャッシュ ミスを生成した場合でも問題ないと思います。理想的には、そこで時間を無駄にしないように、ローカル キャッシュは更新されません。もちろん、ミスが発生するたびにセカンダリストレージが更新されることは必須です。

と設定しようと思っていたの--max-filesですが、それは特別な値で、制限をまったく設定しません。これらのオプションを に設定するとうまくいくかもしれませんが、不必要に Ccache のクリーンアップ ロジックをトリガーし、時間を無駄にします。--max-size01

構成オプションにも気付きましたread_onlyが、ドキュメントには「...しかし、キャッシュバックエンドに新しい結果を追加しません」と明記されています。これは、セカンダリストレージが更新されないことを意味します。

4

2 に答える 2