1

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

我的要求很少

  1. 应开发缓存(无外部库)并运行 Python 2.6/2.7 环境
  2. 该库应提供统一的接口,以便可以使用外部缓存机制(例如:memcached)包装器,这些包装器将被依赖注入
  3. 缓存应该是线程安全的
  4. 要缓存的内容将是 Web API 响应的 JSON 有效负载。
  5. Web API 提供的数据在不同的时间老鼠会有所不同:例如,当前观察到的一个城市的天气可能每小时变化一次,而 15 天的天气预报可能每 5 天左右变化一次。

可以使用的最简单的算法是什么?

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

4

1 回答 1

1

您可以从 lru_cache 复制和调整源代码(参见http://hg.python.org/cpython/file/default/Lib/functools.py)。

于 2013-12-03T14:30:13.857 回答