repoze.lru LRU(最低使用)キャッシュ実装とデコレータ&NBSPある;頻繁に使用されていないキーと値が速く、頻繁に使用されるキーと値よりもキャッシュから追い出されます。これは、Python 2.5、Pythonの2.6はPython 2.7、およびPython 3.2で動作します。
のAPI の
LRUCacheオブジェクトの作成:
repoze.lruインポートLRUCacheから
キャッシュ= LRUCache(100)#100最大長
LRUCacheオブジェクトから取得する:
cache.get( '、存在しない'、 'foo'の)# 'はfoo'を返します。
cache.get( '、存在しない')#はNoneを返します
( '既存の')cache.get#は、既存の値を返します。
LRUCacheオブジェクトに追加:
cache.put( 'キー'、 '値')#は、キー値を持つ 'キー' '値'を追加します
LRUCacheのクリア:
cache.clear()
装飾者
lru_cacheデコレータが存在します。装飾された関数に渡されたすべての値はハッシュ可能でなければなりません。それは、キーワード引数をサポートしていません。
repoze.lruインポートlru_cacheから
@lru_cache(500)
デフexpensive_function(*引数):
 パス
lru_cacheデコレータで飾られた各機能は、その機能に関連する独自のキャッシュを使用しています。
の新しいの、このリリースでは何です:ます。
- 「CacheMaker「ヘルパークラスを追加しました:。メーカーがクリアされるためにそれらを可能にするために、それが作成するキャッシュに(名前で)参照を保持します。
- 各キャッシュに追加統計、追跡を検索、ヒット、ミス、及び立ち退きます。
- 自動建物スフィンクスのドキュメントとTOXの下例スニペットをテストします。
- を追加しましスフィンクスのドキュメントします。
- はPython 2.5のサポートをドロップします。
- PyPyはのサポートが追加されました。
- はsetup.pyドキュメントエイリアス(スフィンクスと依存関係をインストールします)を加えます。
- を追加しましたsetup.pyのdevのエイリアス(ランが開発プラス鼻とカバレッジをインストールします)します。
- TOXを使用してサポートニシキヘビ下のCIのサポートが追加されました。
- バグ:割り込み(問題#10)の顔にロックに潜在的な競合状態を削除します。 。
のバージョン0.5のの新機能:
- 特集:新しい&QUOTを追加し、無効()&QUOT。キャッシュ(問題#8)からのアイテムの除去を可能にする方法します。
- バグ:LRUCache.put()は、大きなキャッシュ(問題#7)上に複数の秒かかることがあります。 。
- バグ:LRUCacheは(問題#6) スレッドセーフされませんでした
- バグ:LRUCache.clockは、RAM(問題#4)を無駄にします。 。
- バグ:。他のキャッシュエントリを削除したいエントリのプッシュを繰り返し(問題#3)
- バグ:でも、(問題#2)完全ではないLRUCacheエントリを立ち退かせるだろう。 。
の要件の
- のPythonます。
コメントが見つかりません