repoze.lru on rautatieyritys (ainakin viime aikoina käytetty) välimuisti täytäntöönpanoa ja sisustajalle. & Nbsp; avaimet ja arvot, joita ei käytetä usein häätää välimuistista nopeammin kuin avaimia ja arvoja, joita käytetään usein. Se toimii Python 2.5, Python 2.6, Python 2.7, ja Python 3.2.
API
Luominen LRUCache kohde:
alkaen repoze.lru tuonti LRUCache
cache = LRUCache (100) # 100 max pituus
Hakemiseksi LRUCache kohde:
cache.get ("olemattomuus", "foo") # palaa "foo"
cache.get (olemattomuus) # palaa Ei mitään
cache.get ("olemassa") # palaa arvoa nykyisille
Lisäämällä LRUCache kohde:
cache.put ("avain", "arvo") # lisää avaimen "avain" arvolla "arvo"
Clearing LRUCache:
cache.clear ()
Sisustusarkkitehti
Lru_cache sisustusarkkitehti olemassa. Kaikki arvot välitetään sisustettu toiminto on hashable. Se ei tue avainsanan argumentteja:
alkaen repoze.lru tuonti lru_cache
lru_cache (500)
def expensive_function (* arg):
& Nbsp; syöttö
Jokainen toiminto koristeltu lru_cache sisustusarkkitehti käyttää omaa välimuistia liittyvät kyseiseen toimintaan.
Mitä uutta strong> tässä julkaisussa:
- Lisätty "CacheMaker" auttaja luokka: maker pitää viittauksia (nimen) ja välimuistit se luo, jotta niiden selvittämistä.
- Lisätty tilastot kunkin välimuisti, seuranta hakuja, osuu, piti, ja häädöt.
- Automatisoidut rakennus sfinksi dokumentit ja testaamalla esimerkiksi katkelmia alle tox.
- Lisätty sfinksi asiakirjat.
- Pudonnut Python 2.5.
- Lisätty tuki PyPy.
- Lisätty setup.py dokumentit alias (asentuu sfinksi ja riippuvuudet).
- Lisätty setup.py dev alias (runs kehittää plus asentaa nenä ja kattavuus).
- Lisätty tuki CI alle tuettu Pythons käyttäen tox.
- Bug: Poista mahdolliset rotu kunnossaan lukko edessä keskeytyksiä (Issue # 10).
Mitä uutta strong> versiossa 0.5:
- Ominaisuus: lisätään uusi & quot; mitätöi () & quot; Menetelmä mahdollistaa poiston kohteita välimuistista (issue # 8).
- Bug: LRUCache.put () voisi ottaa useita sekuntia suuri kätköt (Issue # 7).
- Bug: LRUCache ei kierre turvallinen (Issue # 6).
- Bug: LRUCache.clock tuhlaisi RAM (Issue # 4).
- Bug: Toistuva työntäminen merkinnän poistaisi muut välimuistimerkintöjä (Issue # 3).
- Bug: LRUCache olisi häätää merkintöjä, vaikka ei täydellinen (Issue # 2).
Vaatimukset :
- Python
Kommentteja ei löytynyt