repoze.lru là một LRU (gần đây nhất được sử dụng) thực hiện bộ nhớ cache và trang trí & nbsp;. Bàn phím và các giá trị không được sử dụng thường xuyên sẽ bị đuổi khỏi bộ nhớ cache nhanh hơn so với các phím và các giá trị được sử dụng thường xuyên. Nó hoạt động dưới Python 2.5, Python 2.6, Python 2.7, và Python 3.2.
API
Tạo một đối tượng LRUCache:
từ repoze.lru nhập LRUCache
cache = LRUCache (100) # 100 max length
Lấy từ một đối tượng LRUCache:
cache.get ('nonexisting', 'foo') # sẽ trở về 'foo'
cache.get ('nonexisting') # sẽ trở về None
cache.get ('hiện tại') # sẽ trả về giá trị cho hiện tại
Thêm một đối tượng LRUCache:
cache.put ('chìa khóa', 'giá trị') # sẽ thêm phím 'chìa khóa' với giá trị 'giá trị'
Xoá một LRUCache:
cache.clear ()
Chuyên trang hoàng
Một trang trí lru_cache tồn tại. Tất cả các giá trị được truyền cho các chức năng trang trí phải hashable. Nó không hỗ trợ đối số từ khóa:
từ repoze.lru nhập lru_cache
lru_cache (500)
def expensive_function (* arg):
& Nbsp; vượt qua
Mỗi chức năng được trang trí với các trang trí sử dụng bộ nhớ cache lru_cache riêng của mình liên quan đến chức năng mà
là gì mới trong phiên bản này:.
- thêm lớp helper một 'CacheMaker':. một nhà sản xuất giữ tài liệu tham khảo (theo tên) để cache nó tạo ra, để cho phép họ được xóa
- thống kê thêm cho mỗi bộ nhớ cache, tra cứu theo dõi, đánh, bỏ lỡ, và trục xuất.
- xây dựng tự động Sphinx tài liệu và thử nghiệm ví dụ đoạn dưới tox.
- tài liệu Added Sphinx.
- Dropped hỗ trợ cho Python 2.5.
- Thêm hỗ trợ cho PyPy.
- Thêm tài liệu setup.py alias (cài đặt Sphinx và phụ thuộc).
- Thêm setup.py dev alias (chạy phát triển cộng với cài đặt mũi và bảo hiểm).
- Thêm hỗ trợ cho CI dưới Trăn hỗ trợ sử dụng tox.
- Bug: Hủy bỏ tình trạng đua tiềm năng về khóa trong khuôn mặt của các ngắt (Issue # 10) .
là gì mới trong phiên bản 0.5:
- Tính năng: thêm một mới & quot; quot mất hiệu lực () &; phương pháp để cho phép loại bỏ các mặt hàng từ bộ nhớ đệm (vấn đề # 8).
- Bug: LRUCache.put () có thể mất nhiều giây trên cache lớn (Issue # 7) .
- Bug: LRUCache đã không đề an toàn (Issue # 6) .
- Bug: LRUCache.clock sẽ lãng phí bộ nhớ RAM (Issue # 4) .
- Bug:. Lặp đi lặp lại đẩy một mục sẽ loại bỏ các mục bộ nhớ cache khác (Issue # 3)
- Bug: LRUCache sẽ đuổi mục ngay cả khi không đầy đủ (Issue # 2) .
Yêu cầu :
- Python
Bình luận không