Monitore o uso da sua chave antes de atingir um limite
Acompanhar seus cabeçalhos de cota ao longo do caminho mostra quando um limite está se aproximando, bem antes de uma requisição ser realmente rejeitada.
Geocodificar o mesmo endereço duas vezes na mesma semana é um padrão comum, e um cache é a solução óbvia. O que costuma confundir as pessoas é esquecer que um acerto e uma falha de cache parecem idênticos para a sua aplicação, mas são muito diferentes para a sua cota.
Um endereço geocodificado raramente muda, então colocar em cache o resultado completo de uma consulta direta ou reversa, usando a entrada normalizada como chave, é seguro por muito tempo, semanas ou meses, dependendo de quanto seus dados de endereço mudam. O resultado de uma consulta de IP pode ficar em cache por períodos mais curtos, já que as faixas ocasionalmente são reatribuídas. O identificador de uma consulta de fuso horário é estável, mas o utc_offset muda com o horário de verão, então guarde o identificador em cache e recalcule o deslocamento em vez de guardar a resposta inteira indefinidamente.
Um acerto de cache significa que você nem chamou a API para aquela requisição, então nada muda no X-Quota-Used nem no seu saldo de crédito. Esse é justamente o objetivo do cache, mas também significa que um acerto de cache não aparece em nenhum lugar nos cabeçalhos de cota, que refletem apenas as chamadas que realmente chegaram à API. Não tente conciliar seus próprios contadores de requisições com os cabeçalhos de cota, a menos que você também esteja registrando os acertos de cache separadamente.
cache_key = "forward:" + normalize("221B Baker Street, London")Normalize convertendo para minúsculas, removendo espaços nas pontas e reduzindo espaços repetidos antes de gerar o hash, para que diferenças triviais de formatação na entrada não causem falhas de cache desnecessárias.
Se metade dos endereços recebidos se repete dentro de uma janela de cache, sua contagem efetiva de requisições contra a cota gratuita e qualquer crédito pré-pago é aproximadamente metade do seu volume bruto de endereços. Vale saber disso antes de decidir se você precisa ir além das 2.500 requisições gratuitas por dia incluídas em cada chave, já que o número real que chega à API pode ser bem menor do que o seu tráfego bruto sugere.
Ignore o cache sempre que um resultado desatualizado estiver efetivamente errado, como ao verificar novamente um endereço que um cliente acabou de corrigir. Uma única consulta nova custa uma requisição de qualquer forma, então ignorar o cache para uma correção específica é um seguro barato contra servir um resultado em cache que você já sabe que está errado.
Fazer um bom cache é, sobretudo, saber quais campos são estáveis e quais não são, em vez de guardar tudo ou nada. Consulte a documentação de geocodificação direta para ver os campos que dão boas chaves de cache.