lru_cacheからソースをコピーして適応させることができます(参照 http://hg.python.org/cpython/file/default/lib/functools.py).
Web APIクライアントラッパーのキャッシュアルゴリズム
-
25-08-2022 - |
質問
私はaを開発しました Pythonクライアントライブラリ, 、これはWeb APIのクライアントラッパーです。優れたヘイブ機能はローカルキャッシュメカニズムです。これにより、ライブラリクライアントが異なる時間にWeb APIでまったく同じリクエストを呼び出すと、時間と帯域幅が節約されます。
要件はほとんどありません
- キャッシュは開発され(外部ライブラリなし)、Python 2.6/2.7 Envsを実行するものとします
- ライブラリは、外部キャッシュメカニズム(例:memcached)ラッパーを使用することができるように、均一なインターフェイスを提供するものとします。
- キャッシュはスレッドセーフである必要があります
- キャッシュされるコンテンツは、Web API応答のJSONペイロードです。
- Web APIによって提供されるデータは、ラットが異なる場合に異なります。たとえば、現在観察されている都市で観察されている天候は1時間ごとに異なる場合がありますが、15日間の天気予報は5日ごとに異なる場合があります。
使用できる最も単純なアルゴリズムは何ですか?
私はLRU(最近使用されていない)アルゴリズムについて考えていましたが、他の選択肢を評価できると思います - 私はキャッシュについてはまったく専門家ではありません!
解決
所属していません StackOverflow