我开发了一个 Python客户库, ,这是Web API的客户端包装器:一个不错的功能将是本地缓存机制:当库客户端在不同时间在Web API上调用相同的请求时,这将节省时间和带宽。

我的要求很少

  1. 缓存应开发(无外部库),并运行Python 2.6/2.7 Envs
  2. 库应提供一个均匀的界面,以便可以使用外部缓存机制(例如:memcached)包装器,将其依赖注入
  3. 缓存应为线程安全
  4. 缓存的内容将是Web API响应的JSON有效载荷。
  5. Web API在不同时间大鼠提供的数据有所不同:例如,当前观察到的城市天气可能每小时有所不同,而15天的天气预报可能每5天左右有所不同。

什么是最简单的算法?

我当时正在考虑使用LRU(最不最近使用的)算法,但我想可以评估其他替代方案 - 我根本不是对缓存的专家!

有帮助吗?

解决方案

您可以从lru_cache复制并调整源(请参阅 http://hg.python.org/cpython/file/default/lib/functools.py).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top