Вы можете просто скопировать и адаптировать источник из lru_cache (см. http://hg.python.org/cpython/file/default/lib/functools.py).
Алгоритм кэширования для клиентской обертки Web API
-
25-08-2022 - |
Вопрос
Я разработал Клиентская библиотека Python, которая является клиентской оберткой для веб-API: хорошей функцией будет локальный механизм кэша: это сэкономит время и пропускную способность, когда клиенты библиотеки вызывают тот же самый запрос на веб-API в разное время.
У меня очень мало требований
- Кэш должен быть разработан (без внешних библиотек) и запустить Python 2.6/2.7 Envs
- Библиотека должна обеспечить единый интерфейс, так что можно использовать обертки внешнего кеша (например: memcached), которые будут впрызлены зависимостью
- Кэш должен быть защищен потоком
- Контент, который будет кэширован, будет полезной нагрузкой JSON ответов Web API.
- Данные, предоставленные веб -API, различаются в разные времена крыс: в примере наблюдаемая погода в городе может варьироваться каждый час, в то время как прогноз погоды 15 дней может варьироваться каждые 5 дней или около того.
Какой самый простой алгоритм можно использовать?
Я думал об алгоритме LRU (меньше всего недавно), но я думаю, что другие альтернативы могут быть оценены - я вообще не экспертизирован о кэшах!
Решение
Не связан с StackOverflow