문제

나는 a 파이썬 클라이언트 라이브러리, 웹 API의 클라이언트 래퍼 인 : 좋은 기능은 로컬 캐시 메커니즘입니다. 라이브러리 클라이언트가 웹 API에서 다른 시간에 동일한 요청을 호출 할 때 시간과 대역폭을 절약 할 수 있습니다.

요구 사항이 거의 없습니다

  1. 캐시는 개발 (외부 라이브러리 없음)을 개발하고 Python 2.6/2.7 Envs를 실행해야합니다.
  2. 라이브러리는 균일 한 인터페이스를 제공하여 외부 캐시 메커니즘 (예 : Memcached) 랩퍼를 사용할 수 있도록해야합니다.
  3. 캐시는 스레드 안전이어야합니다
  4. 캐시 할 내용은 웹 API 응답의 JSON 페이로드입니다.
  5. 웹 API가 제공하는 데이터는 시간 쥐에 따라 다릅니다. 예를 들어, 도시에서 현재 관찰 된 날씨는 시간마다 다를 수 있으며 15 일 기상 예보는 5 일마다 다를 수 있습니다.

사용할 수있는 가장 간단한 알고리즘은 무엇입니까?

나는 LRU (최근에 사용 된 최소한 사용) 알고리즘에 대해 생각하고 있었지만 다른 대안을 평가할 수 있다고 생각합니다. 저는 캐시에 대해 전혀 전문가가 아닙니다!

도움이 되었습니까?

해결책

lru_cache에서 소스를 복사하고 조정할 수 있습니다 ( http://hg.python.org/cpython/file/default/lib/functools.py).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top