मेरे पास एपीआई कॉल के कैशिंग से संबंधित एक सामान्य प्रश्न है, इस उदाहरण में गिथब एपीआई को कॉल किया गया है।कैशिंग गितब एपीआई कॉल
मान लें कि मेरे पास मेरे ऐप में एक पृष्ठ है जो रेपो के फ़ाइल नाम और रीडमे की सामग्री दिखाता है। इसका मतलब है कि इसे पुनर्प्राप्त करने के लिए मुझे कुछ एपीआई कॉल करना होगा।
अब, मान लीजिए कि मैं बीच में memcached की तरह कुछ जोड़ना चाहता हूं, इसलिए यदि मुझे आवश्यकता नहीं है, तो मैं इन कॉलों को और अधिक नहीं कर रहा हूं।
आप सामान्य रूप से इस बारे में कैसे जाते हैं? अगर मैं गिथब पर वेबहुक सक्षम नहीं करता हूं, तो मुझे यह जानने का कोई तरीका नहीं है कि कैश की अवधि समाप्त हो गई है या नहीं। मैं हमेशा सिर की वर्तमान शा को प्राप्त करने के लिए एक ही कॉल कर सकता था, और यदि यह नहीं बदला गया था, तो इसके बजाय कैश का उपयोग करें। लेकिन यह एक रेपो-स्तर पर है, न कि फ़ाइल स्तर पर।
मुझे कल्पना है कि मैं ऑब्जेक्ट-शा के साथ ऐसा कुछ कर सकता हूं, लेकिन अगर मुझे एपीआई को कॉल करने की ज़रूरत है, तो यह कैशिंग के उद्देश्य को हरा देता है।
आप इसके बारे में कैसे जाएंगे? मुझे पता है कि prose.io जैसी कोई सेवा अभी कैशिंग नहीं है, लेकिन अगर ऐसा होना चाहिए, तो दृष्टिकोण क्या होगा?
धन्यवाद
धन्यवाद इवान। यह भी खूब रही। HTTP कैश का उपयोग करने का अर्थ यह भी है कि मुझे memcached में चीजों को कैश करने के लिए अपने स्वयं के मध्य-स्तर एपीआई रूट की आवश्यकता नहीं है। इस तरह से मैं सीधे क्लाइंट से सीओआरएस के माध्यम से जा सकता हूं (शायद स्थानीय भंडारण का उपयोग कर यदि आवश्यक हो)। – Ronze
क्या यह संभव है कि जीथब से सभी अंतराल 'अंतिम-संशोधित' शीर्षलेख वापस न करें? उदाहरण के लिए मील का पत्थर एंडपॉइंट में कॉल किसी भी 'अंतिम-संशोधित' शीर्षलेख को वापस नहीं करता है: curl -i https://api.github.com/repos/p1nox/repos/milestones लेकिन 'ईटाग' वापस लौटाता है, तो इस प्रकार के संसाधनों को कैश करने का एकमात्र तरीका संयोजन टोकन-एटैग का उपयोग कर रहा है? – p1nox
@ p1nox हाँ, यह संभव है। यदि आप यह https://developer.github.com/v3/#conditional-requests पढ़ते हैं, तो आप इस भाग को देखेंगे: "अधिकांश प्रतिक्रियाएं ईटाग हेडर लौटाती हैं। कई प्रतिक्रियाएं अंतिम-संशोधित शीर्षलेख भी लौटाती हैं।" ध्यान दें कि यह "सबसे" और "कई" कहता है, न कि "सब"। –