Die Nutzung Ihres Schlüssels überwachen, bevor Sie an ein Limit stoßen
Wenn Sie Ihre Kontingent-Header laufend beobachten, wissen Sie, wann ein Limit näher rückt, lange bevor eine Anfrage tatsächlich abgelehnt wird.
Dieselbe Adresse zweimal in einer Woche zu geokodieren ist ein häufiges Muster, und ein Cache ist die naheliegende Lösung. Woran viele scheitern: Sie vergessen, dass ein Cache-Treffer und ein Cache-Fehlschlag für Ihre Anwendung gleich aussehen, für Ihr Kontingent aber sehr unterschiedlich sind.
Eine geokodierte Adresse ändert sich selten, daher ist es lange Zeit sicher, das vollständige Ergebnis einer Vorwärts- oder Rückwärtsabfrage mit der normalisierten Eingabe als Schlüssel zu cachen, je nachdem, wie stark sich Ihre Adressdaten ändern, Wochen oder Monate. Ein IP-Abfrageergebnis lässt sich für kürzere Zeiträume sicher cachen, da Adressbereiche gelegentlich neu zugewiesen werden. Die Kennung einer Zeitzonenabfrage ist stabil, aber ihr utc_offset verschiebt sich mit der Sommerzeit, cachen Sie also die Kennung und berechnen Sie den Offset neu, statt die gesamte Antwort unbegrenzt zu cachen.
Ein Cache-Treffer bedeutet, dass Sie die API für diese Anfrage gar nicht aufgerufen haben, daher ändert sich weder X-Quota-Used noch Ihr Guthaben. Genau das ist der Sinn des Cachings, bedeutet aber auch, dass ein Cache-Treffer nirgends in den Kontingent-Headern erscheint, die nur Aufrufe widerspiegeln, die die API tatsächlich erreicht haben. Versuchen Sie nicht, Ihre eigenen Anfragezähler mit den Kontingent-Headern abzugleichen, es sei denn, Sie erfassen Cache-Treffer zusätzlich separat.
cache_key = "forward:" + normalize("221B Baker Street, London")Normalisieren Sie vor dem Hashen, indem Sie in Kleinbuchstaben umwandeln, Leerraum am Anfang und Ende entfernen und mehrfache Leerzeichen zusammenfassen, damit triviale Formatierungsunterschiede in der Eingabe keine unnötigen Cache-Fehlschläge erzeugen.
Wenn die Hälfte Ihrer eingehenden Adressen innerhalb eines Caching-Zeitfensters Wiederholungen sind, beträgt Ihre effektive Anfragezahl gegenüber dem kostenlosen Kontingent und etwaigem Prepaid-Guthaben ungefähr die Hälfte Ihres rohen Adressvolumens. Das sollten Sie wissen, bevor Sie entscheiden, ob Sie über die 2.500 kostenlosen Anfragen pro Tag hinaus, die in jedem Schlüssel enthalten sind, aufrüsten müssen, denn die tatsächliche Zahl, die die API erreicht, kann viel niedriger sein, als Ihr roher Traffic vermuten lässt.
Umgehen Sie den Cache bei allem, wo ein veraltetes Ergebnis tatsächlich falsch ist, etwa bei der erneuten Prüfung einer Adresse, die ein Kunde gerade korrigiert hat. Eine einzelne frische Abfrage kostet so oder so eine Anfrage, daher ist das Umgehen des Caches für eine konkrete Korrektur eine günstige Absicherung dagegen, ein bekanntermaßen falsches Ergebnis aus dem Cache auszuliefern.
Gutes Caching bedeutet vor allem zu wissen, welche Felder stabil sind und welche nicht, statt alles oder nichts zu cachen. In der Dokumentation zur Geokodierung finden Sie die Felder, die sich gut als Cache-Schlüssel eignen.