गाइड

अपने कोटा के हिसाब को बिगाड़े बिना जियोकोडिंग परिणाम कैश करें

एक ही हफ़्ते में एक ही पते को दो बार जियोकोड करना एक आम पैटर्न है, और कैश इसका स्पष्ट समाधान है। जिस बात पर लोग अटक जाते हैं वह यह भूल जाना है कि कैश हिट और कैश मिस आपके एप्लिकेशन को एक जैसे दिखते हैं, लेकिन आपके कोटा के लिए बहुत अलग होते हैं।

क्या कैश करना सुरक्षित है

जियोकोड किया गया पता शायद ही कभी बदलता है, इसलिए नॉर्मलाइज़ किए गए इनपुट को कुंजी बनाकर फ़ॉरवर्ड या रिवर्स लुकअप का पूरा परिणाम कैश करना लंबे समय तक सुरक्षित है, आपके पता डेटा में कितना बदलाव होता है उसके आधार पर हफ़्तों या महीनों तक। IP लुकअप का परिणाम कम अवधि के लिए कैश करना सुरक्षित है, क्योंकि रेंज कभी-कभी दोबारा आवंटित हो जाती हैं। समय क्षेत्र लुकअप का पहचानकर्ता स्थिर रहता है, लेकिन उसका utc_offset डेलाइट सेविंग के साथ बदलता है, इसलिए पूरे रिस्पॉन्स को अनिश्चित काल तक कैश करने के बजाय पहचानकर्ता को कैश करें और ऑफ़सेट दोबारा निकालें।

कैश से परिणाम देने पर कोटा प्रभावित नहीं होता

कैश हिट का मतलब है कि उस अनुरोध के लिए आपने API को कॉल ही नहीं किया, इसलिए X-Quota-Used या आपके क्रेडिट बैलेंस में कुछ नहीं बदलता। कैशिंग का पूरा मकसद यही है, लेकिन इसका मतलब यह भी है कि कैश हिट कोटा हेडर में कहीं नहीं दिखेगा, क्योंकि वे केवल उन कॉल को दर्शाते हैं जो वास्तव में API तक पहुँचीं। अपने अनुरोध काउंटर का मिलान कोटा हेडर से करने की कोशिश न करें, जब तक कि आप कैश हिट को भी अलग से ट्रैक न कर रहे हों।

कैश कुंजी का उदाहरण

cache_key = "forward:" + normalize("221B Baker Street, London")

हैश करने से पहले लोअरकेस करके, व्हाइटस्पेस ट्रिम करके और दोहराए गए स्पेस को एक करके नॉर्मलाइज़ करें, ताकि इनपुट में फ़ॉर्मेटिंग के मामूली अंतर बेवजह कैश मिस न बनाएँ।

अपेक्षाओं का आकलन

अगर आपके आने वाले आधे पते किसी कैशिंग अवधि के भीतर दोहराए जाते हैं, तो मुफ़्त कोटा और किसी भी प्रीपेड क्रेडिट के सामने आपके अनुरोधों की प्रभावी संख्या आपके कच्चे पता वॉल्यूम की लगभग आधी होती है। यह जानना इस फ़ैसले से पहले उपयोगी है कि क्या आपको हर कुंजी के साथ शामिल 2,500 प्रतिदिन मुफ़्त अनुरोधों से आगे अपग्रेड करने की ज़रूरत है, क्योंकि API तक पहुँचने वाली वास्तविक संख्या आपके कच्चे ट्रैफ़िक के संकेत से काफ़ी कम हो सकती है।

कैश को कब बायपास करें

ऐसी किसी भी चीज़ के लिए कैश छोड़ दें जहाँ पुराना परिणाम सीधे तौर पर गलत हो, जैसे उस पते का दोबारा सत्यापन जिसे ग्राहक ने अभी-अभी ठीक किया है। एक ताज़ा लुकअप की लागत हर हाल में एक अनुरोध है, इसलिए किसी खास सुधार के लिए कैश को बायपास करना, एक ज्ञात गलत कैश किए गए परिणाम को देने के ख़िलाफ़ सस्ता बीमा है।

अच्छी कैशिंग ज़्यादातर यह जानने पर निर्भर करती है कि कौन-से फ़ील्ड स्थिर हैं और कौन-से नहीं, न कि सब कुछ या कुछ भी कैश न करने पर। अच्छी कैश कुंजी बनने वाले फ़ील्ड के लिए फ़ॉरवर्ड जियोकोडिंग दस्तावेज़ देखें।