Controla el uso de tu clave antes de alcanzar un límite
Vigilar las cabeceras de cuota sobre la marcha te indica cuándo te acercas a un límite, mucho antes de que se rechace realmente una solicitud.
Geocodificar la misma dirección dos veces en una semana es algo habitual, y una caché es la solución obvia. Lo que confunde a la gente es olvidar que un acierto y un fallo de caché parecen idénticos para tu aplicación, pero son muy distintos para tu cuota.
Una dirección geocodificada rara vez cambia, así que almacenar en caché el resultado completo de una consulta directa o inversa, con la entrada normalizada como clave, es seguro durante mucho tiempo, semanas o meses según cuánto cambien tus datos de direcciones. El resultado de una consulta de IP se puede almacenar en caché con seguridad durante periodos más cortos, ya que los rangos se reasignan de vez en cuando. El identificador de una consulta de zona horaria es estable, pero su utc_offset cambia con el horario de verano, así que guarda en caché el identificador y vuelve a calcular el desfase en lugar de guardar la respuesta completa de forma indefinida.
Un acierto de caché significa que no llamaste a la API en absoluto para esa solicitud, así que nada cambia en X-Quota-Used ni en tu saldo de crédito. Ese es precisamente el objetivo de la caché, pero también significa que un acierto de caché no aparecerá en ningún lugar de las cabeceras de cuota, que solo reflejan las llamadas que llegaron realmente a la API. No intentes cuadrar tus propios contadores de solicitudes con las cabeceras de cuota a menos que también lleves la cuenta de los aciertos de caché por separado.
cache_key = "forward:" + normalize("221B Baker Street, London")Normaliza pasando a minúsculas, eliminando los espacios al principio y al final y reduciendo los espacios repetidos antes de calcular el hash, para que las diferencias triviales de formato en la entrada no generen fallos de caché innecesarios.
Si la mitad de las direcciones que recibes se repiten dentro de una ventana de caché, tu número efectivo de solicitudes que cuentan contra la cuota gratuita y cualquier crédito prepago es aproximadamente la mitad de tu volumen bruto de direcciones. Conviene saberlo antes de decidir si necesitas ir más allá de las 2.500 solicitudes gratuitas al día incluidas con cada clave, ya que el número real que llega a la API puede ser mucho menor de lo que sugiere tu tráfico bruto.
Sáltate la caché en todo caso en que un resultado desactualizado sea directamente incorrecto, como al volver a verificar una dirección que un cliente acaba de corregir. Una consulta nueva cuesta una solicitud en cualquier caso, así que saltarse la caché para una corrección concreta es un seguro barato frente a servir un resultado en caché que ya sabes que es erróneo.
Usar bien la caché consiste sobre todo en saber qué campos son estables y cuáles no, en lugar de guardarlo todo o nada. Consulta la documentación de geocodificación directa para ver los campos que sirven como buenas claves de caché.