.
repoze.lru은 LRU이다 캐시 구현과 장식 & NBSP를 (가장 최근에 사용 된) 키와 자주 사용되지 않는 값이 빠르게 자주 사용하는 키와 값보다 캐시에서 제거됩니다. 파이썬 2.5, 파이썬 2.6, 파이썬 2.7, 파이썬 3.2에서 작동합니다.
API
하여 LRUCache 개체를 만들기 :
repoze.lru 수입하여 LRUCache에서
캐시 =하여 LRUCache (100) # 100 최대 길이
하여 LRUCache 개체에서 검색 :
cache.get는 ( '갑' '존재하지 않는') #은 '갑'을 반환합니다
cache.get ( '존재하지 않는') #은 None을 돌려
( '기존') cache.get # 기존의 값을 반환합니다
하여 LRUCache 개체에 추가 :
cache.put ( '키', '값') # 값 '값'을 가진 키 '키'를 추가합니다
하여 LRUCache 지우기 :
cache.clear ()
실내 장식
lru_cache의 장식이 있습니다. 장식 함수에 전달 된 모든 값은 해쉬해야합니다. 이 키워드 인수를 지원하지 않습니다
repoze.lru 수입 lru_cache에서
@lru_cache (500)
데프 expensive_function (* ARG) :
& NBSP; 패스
lru_cache의 장식으로 장식 된 각 기능은 그 기능과 관련된 자신의 캐시를 사용
이 릴리스의 새로운 기능입니다 무엇 :.
가 'CacheMaker'헬퍼 클래스 추가 : 메이커 참조를 유지를 ( 이 생성 캐시에 이름)이를 해제 할 수 있도록합니다.
조회, 히트, 미스 및 퇴거를 추적, 각 캐시에 통계를 추가했습니다.
스핑크스 문서를 구축하고 약물 검사에서 예 조각을 테스트 자동화.
추가 스핑크스 설명서를 참조하십시오.
파이썬 2.5에 대한 지원을 떨어졌다.
PyPy에 대한 지원이 추가되었습니다.
추가 setup.py 문서 별칭 (스핑크스와 종속성을 설치합니다).
추가 setup.py dev에 별칭 (실행 개발 플러스 코와 범위를 설치합니다).
독극물을 사용하여 지원 파이에서 CI에 대한 지원이 추가되었습니다.
버그 : 인터럽트 (# 10을 실행)의 얼굴에 잠금 잠재적 인 경쟁 조건을 제거합니다.
이 특징 :
이 0.5 버전의 새로운 기능하는 새로운 & quot 추가 (무효화) & quot을; 방법은 캐시 (문제점 # 8)에서 항목의 제거를 허용한다.
버그 : LRUCache.put ()는 큰 캐시에 (문제 # 7)를 여러 초 걸릴 수 있습니다.
버그 :하여 LRUCache는 스레드로부터 안전하지 않은 (문제 # 6).
버그 : LRUCache.clock는 RAM을 낭비 것 (문제 # 4).
버그 : (문제 # 3) 다른 캐시 항목을 제거 할 항목의 밀어 반복.
버그 :하여 LRUCache도하지 않을 경우 전체 항목을 축출 것 (문제 # 2).
이 요구 사항 :
이 파이썬
댓글을 찾을 수 없습니다