क्या गो के डीएनएस रिज़ॉल्यूशन में कैश लुकअप की सुविधा है?
गो प्रोग्रामिंग भाषा की मानक लाइब्रेरी में डीएनएसक्लाइंट के माध्यम से डीएनएस लुकअप को कैश करने के लिए एक अंतर्निहित तंत्र का अभाव है . जबकि DNS प्रतिक्रियाओं को कैशिंग करने से महंगे DNS प्रश्नों की संख्या को कम करके किसी एप्लिकेशन की दक्षता में उल्लेखनीय वृद्धि हो सकती है, Go वर्तमान में यह सुविधा प्रदान नहीं करता है।
वैकल्पिक कैशिंग समाधान
चूंकि गो देशी डीएनएस कैशिंग प्रदान नहीं करता है, डेवलपर्स कार्यक्षमता को लागू करने के लिए बाहरी पैकेजों का पता लगा सकते हैं। ऐसा ही एक पैकेज "dnscache" है, जो DNS कैशिंग के लिए एक मजबूत समाधान प्रदान करता है।
गो के HTTP ट्रांसपोर्ट के साथ "dnscache" को एकीकृत करके, जैसा कि दिए गए कोड स्निपेट में दिखाया गया है:
http.DefaultClient.Transport = &http.Transport {
MaxIdleConnsPerHost: 64,
Dial: func(network string, address string) (net.Conn, error) {
separator := strings.LastIndex(address, ":")
ip, _ := dnscache.FetchString(address[:separator])
return net.Dial("tcp", ip address[separator:])
},
}
http.Get और अन्य संबंधित कार्यों के माध्यम से शुरू किए गए सभी HTTP अनुरोधों पर DNS कैशिंग को सक्षम करना संभव हो जाता है। यह दृष्टिकोण डीएनएस लुकअप के ओवरहेड को प्रभावी ढंग से कम कर सकता है और उन अनुप्रयोगों के प्रदर्शन में सुधार कर सकता है जो डीएनएस-आधारित इंटरैक्शन पर बहुत अधिक निर्भर हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3