repoze.lru เป็นอาร์ (น้อยเมื่อเร็ว ๆ นี้ที่ใช้) การดำเนินแคชและมัณฑนากร & nbsp;. คีย์และค่านิยมที่ไม่ได้ใช้บ่อยจะถูกขับไล่จากแคชได้เร็วกว่าคีย์และค่าที่ใช้บ่อย มันทำงานภายใต้หลาม 2.5, 2.6 หลาม, งูใหญ่ 2.7, 3.2 และ Python
API
การสร้างวัตถุ LRUCache:
จากการนำเข้า repoze.lru LRUCache
แคช = LRUCache (100) # 100 ยาวสูงสุด
การดึงข้อมูลจากวัตถุ LRUCache:
cache.get ('nonexisting', 'foo') # จะกลับมา 'foo'
cache.get ('nonexisting') # จะกลับไม่มี
cache.get ('ที่มีอยู่') # จะกลับมาคุ้มค่าที่มีอยู่
เพิ่มวัตถุ LRUCache:
cache.put ('สำคัญ', 'มูลค่า') # จะเพิ่มปุ่ม 'สำคัญ' ที่มีค่า 'ค่า'
ล้าง LRUCache:
cache.clear ()
มัณฑนากร
มัณฑนากร lru_cache อยู่ ค่าทั้งหมดส่งผ่านไปยังฟังก์ชั่นการตกแต่งจะต้องเป็น hashable มันไม่ได้สนับสนุนข้อโต้แย้งคำสำคัญ:
จากการนำเข้า repoze.lru lru_cache
@lru_cache (500)
def expensive_function (* หาเรื่อง):
& nbsp; ผ่าน
ฟังก์ชั่นแต่ละตกแต่งด้วยมัณฑนากร lru_cache ใช้แคชของตัวเองที่เกี่ยวข้องกับฟังก์ชั่นที่
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- เพิ่ม 'CacheMaker' ระดับผู้ช่วย. เครื่องช่วยการอ้างอิง (ตามชื่อ) เพื่อแคชจะสร้างเพื่ออนุญาตให้พวกเขาที่จะถูกล้าง
- เพิ่มสถิติให้กับแต่ละแคชการค้นหาติดตามฮิตคิดถึงและขับไล่.
- เอกสารสฟิงซ์อาคารอัตโนมัติและการทดสอบตัวอย่างเช่นภายใต้พิษ.
- เอกสารที่เพิ่มเข้ามาสฟิงซ์.
- ลดการสนับสนุนสำหรับ Python 2.5.
- เพิ่มการสนับสนุนสำหรับ PyPy.
- เพิ่มนามแฝง setup.py เอกสาร (ติดตั้งสฟิงซ์และการอ้างอิง).
- เพิ่มนามแฝง dev setup.py (วิ่งพัฒนาบวกติดตั้งจมูกและคุ้มครอง).
- เพิ่มการสนับสนุนสำหรับ CI ภายใต้งูเหลือมสนับสนุนการใช้พิษ.
- Bug: เอาสภาพการแข่งขันที่มีศักยภาพในการล็อคในหน้าของการขัดจังหวะ (ฉบับที่ 10) .
มีอะไรใหม่ ในรุ่น 0.5:
- คุณสมบัติ: เพิ่มใหม่ & quot; โมฆะ () & quot; วิธีการที่จะช่วยให้การกำจัดของรายการจากแคช (ฉบับที่ 8).
- Bug: LRUCache.put () อาจจะใช้เวลาหลายวินาทีเกี่ยวกับแคชขนาดใหญ่ (ฉบับที่ 7) .
- Bug: LRUCache ก็ไม่ด้ายปลอดภัย (ฉบับที่ 6) .
- Bug: LRUCache.clock จะเสีย RAM (ฉบับที่ 4) .
- Bug. ซ้ำผลักดันของรายการจะลบรายการแคชอื่น ๆ (ฉบับที่ 3)
- Bug: LRUCache จะขับไล่รายการแม้ไม่ได้เต็มรูปแบบ (ฉบับที่ 2) .
ต้องการ
- หลาม
ความคิดเห็นที่ไม่พบ