Sie können einfach die Quelle von LRU_Cache kopieren und anpassen (siehe http://hg.python.org/cpython/file/default/lib/functools.py).
Caching -Algorithmus für eine Web -API -Client -Wrapper
-
25-08-2022 - |
Frage
Ich habe a entwickelt Python Client Library, Das ist ein Client-Wrapper für eine Web-API: Eine schöne Funktion wäre ein lokaler Cache-Mechanismus: Dies würde Zeit und Bandbreite sparen, wenn die Bibliotheksclients zu unterschiedlichen Zeiten die gleiche Anfrage in der Web-API aufrufen.
Ich habe nur sehr wenige Anforderungen
- Der Cache muss entwickelt werden (keine externen Bibliotheken) und Python 2.6/2.7 Envs ausführen
- Die Bibliothek muss eine einheitliche Schnittstelle bereitstellen, sodass es möglich ist, den externen Cache-Mechanismus (z.
- Der Cache sollte thread-safe sein
- Der zwischengespeicherte Inhalt ist die JSON -Nutzlast der Web -API -Antworten.
- Die von der Web -API bereitgestellten Daten variieren zu verschiedenen Zeitratten: Beispielsweise kann das derzeit beobachtete Wetter über eine Stadt jede Stunde variieren, während die 15 -Tage -Wettervorhersage alle 5 Tage oder so variieren kann.
Was ist der einfachste Algorithmus, der verwendet werden kann?
Ich habe über einen LRU -Algorithmus nachgedacht, aber ich denke, dass andere Alternativen bewertet werden können - ich bin überhaupt nicht Experte für Caches!
Lösung
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow