.
repoze.lru bir LRU olan önbellek uygulanmasını ve yönetmeni & nbsp (en az son kullanılan) Tuşlar ve sık kullanılmayan değerler daha hızlı sık kullanılan tuşlar ve değerlerine göre önbellek tahliye edilecektir. Python 2.5, Python 2.6, Python 2.7 ve Python 3.2 altında çalışır.
API
Bir LRUCache nesne oluşturma:
repoze.lru ithalat LRUCache gelen
cache = LRUCache (100) # 100 max uzunluğu
Bir LRUCache nesneden alma:
cache.get ('foo' varolmayan ') #' foo 'dönecektir
cache.get ('varolmayan') # hiçbiri döndürür
('Mevcut') cache.get # mevcut değerini dönecektir
Bir LRUCache nesneye ekleme:
cache.put ('anahtar', 'değer') # değeri 'değeri' ile anahtar 'anahtar' katacak
Bir LRUCache Takas:
cache.clear ()
Dekoratör
Bir lru_cache dekoratör bulunmaktadır. Dekore işleve geçirilen tüm değerler hashable olmalıdır. Bu anahtar kelime argümanlar desteklemiyor:
repoze.lru ithalat lru_cache gelen
lru_cache (500)
def expensive_function (* arg):
& Nbsp; geçiş
Lru_cache dekoratör süslenmiş her fonksiyon bu fonksiyona ilişkin kendi önbelleğini kullanır
Bu sürümde Yeni nedir:.
- Bir 'CacheMaker' yardımcı sınıf eklendi:. Bir yapıcı Silinecek etmelerine izin vermek, oluşturduğu önbelleklerini için (isme göre) başvurular tutar
- Her önbellek eklendi istatistikler, izleme aramaları, vurur, özlüyor, ve tahliyeler.
- Otomatik bina Sfenks belgeler ve toksikoloji altında örnek parçacıkları test.
- Eklendi Sfenks belgeleri.
- Python 2.5 için destek düştü.
- PYPY için destek eklendi.
- Eklenenler setup.py docs takma (Sfenks ve bağımlılıkları yükler).
- eklendi setup.py dev takma (çalışır geliştirmek artı burun ve kapsama yükler).
- Tox kullanarak desteklenen Pythons altında CI desteği eklendi.
- Bug: kesmeleri (Sayı # 10) karşısında kilidi potansiyel yarış durumu Kaldır .
sürüm 0.5 yeni nedir:
- Özellik: Yeni & quot ekledi; geçersiz () & quot; yöntem önbellekten öğelerin kaldırılmasını sağlamak için (sorun # 8).
- Bug: LRUCache.put () büyük önbelleklerini üzerine (7 Sayı #) birden saniye sürebilir .
- Hata:. LRUCache (Sayı # 6) parçacığı güvenli değildi
- Hata:. LRUCache.clock RAM (Sayı # 4) atık ediyorum
- Hata:. Diğer önbellek girdilerini kaldırmak bir giriş iterek tekrarlanan (Sayı # 3)
- Bug: LRUCache girdileri tahliye olur bile değil tam (Sayı # 2) .
Gereksinimler :
- Python
Yorum Bulunamadı