非常に重くて時間のかかる計算をキャッシュするために、klepto (v. 0.1.5.2) を試しています。特に、キャッシュアーカイブlru_cache
と組み合わせてデコレータとして使用しています。hdfdir_archive
この回答で提案されているように、purge=False
オプションを使用してキャッシュコンテンツをディスクに保持することができました。これは魅力的な方法です。とにかく、(同じ入力パラメーターを使用しても) たまに関数を再計算します。一部の計算は、一定期間後に変更される可能性のあるデータに基づいているためです。lru_cache
簡単な回避策として、関数の入力パラメーターに現在の日付を含めて、古いエントリの有効期限が切れているかどうかを確認するカスタムキーマップを実装できると考えました。しかし、キーマップをカスタマイズする方法の例が見つからないため、このソリューションが実現可能かどうか、または機能するかどうかはわかりません.
ただし、より洗練された、またはよりシンプルなソリューションが で既に利用可能であるかどうかは疑問ですklepto
。つまり、事前に設定した期間が経過した後にキャッシュ エントリを自動的に無効にするオプションまたはポリシーはありますか?
ありがとう!