repoze.lru הוא LRU (המשמש לפחות לאחרונה) יישום מטמון ומעצב & nbsp;. מפתחות וערכים שאינם משמשים לעתים קרובות יהיו פונו מהמטמון מהר יותר ממפתחות וערכים המשמשים לעתים קרובות. זה עובד תחת 2.5 Python, Python 2.6, Python 2.7, וPython 3.2.
API
יצירת אובייקט LRUCache:
מLRUCache יבוא repoze.lru
מטמון = LRUCache אורך 100 מקסימום (100) #
אחזור מאובייקט LRUCache:
cache.get ('nonexisting', 'foo') # יחזור "foo"
cache.get ('nonexisting') # יחזור אף אחד
cache.get ('קיים') # יחזיר את הערך קיים
הוספה לאובייקט LRUCache:
cache.put ('מפתח', 'ערך') # יוסיף 'מפתח' עם 'הערך' ערך המפתח
ניקוי LRUCache:
cache.clear ()
תַפאוּרָן
מעצב lru_cache קיים. כל הערכים מועברים לפונקציה המעוטרת חייבים להיות hashable. הוא אינו תומך בטענות של מילות מפתח:
מlru_cache יבוא repoze.lru
lru_cache (500)
expensive_function def (* arg):
& Nbsp; כרטיס
כל פונקציה מעוטרת מעצב lru_cache משתמשת במטמון משלו הקשורים לפונקציה ש
מה חדש במהדורה זו:.
- הוסיף כיתת העוזר 'CacheMaker':. יצרנית שומרת אזכור (לפי שם) למטמונים שהיא יוצרת, כדי לאפשר להם להיות מסומנת
מה חדש בגרסת 0.5:
- תכונה: הוסיף חדש & quot; quot לפסול () &; שיטה כדי לאפשר הסרה של פריטים מהמטמון (בעיה מספר 8).
- באג: LRUCache.put () יכול לקחת שניות מרובות במצבורים גדולים (7 גיליון #) .
- באג: LRUCache לא חוט בטוח (בעיה מספר 6) .
- באג: LRUCache.clock יבזבז RAM (בעיה מספר 4) .
- באג:. חוזר ונשנה דוחף של כניסה היה להסיר ערכי מטמון אחרים (בעיה מספר 3)
- באג: LRUCache היה לפנות ערכים גם כשלא מלא (בעיה מספר 2) .
דרישות :
- Python
תגובות לא נמצא