您可以从lru_cache复制并调整源(请参阅 http://hg.python.org/cpython/file/default/lib/functools.py).
Web API客户端包装器的缓存算法
-
25-08-2022 - |
题
我开发了一个 Python客户库, ,这是Web API的客户端包装器:一个不错的功能将是本地缓存机制:当库客户端在不同时间在Web API上调用相同的请求时,这将节省时间和带宽。
我的要求很少
- 缓存应开发(无外部库),并运行Python 2.6/2.7 Envs
- 库应提供一个均匀的界面,以便可以使用外部缓存机制(例如:memcached)包装器,将其依赖注入
- 缓存应为线程安全
- 缓存的内容将是Web API响应的JSON有效载荷。
- Web API在不同时间大鼠提供的数据有所不同:例如,当前观察到的城市天气可能每小时有所不同,而15天的天气预报可能每5天左右有所不同。
什么是最简单的算法?
我当时正在考虑使用LRU(最不最近使用的)算法,但我想可以评估其他替代方案 - 我根本不是对缓存的专家!
解决方案
不隶属于 StackOverflow