2012-10-09 13 views
5

में मैं एक साइट है कि नहीं बल्कि मुश्किल एकाधिक ग्राहकों (ब्राउज़रों, अन्य अनुप्रयोगों, यूनिक्स शेल स्क्रिप्ट, अजगर स्क्रिप्ट, आदि) से एक ही संसाधनों का JSON प्रतिनिधित्व के लिए सर्वेक्षण में शामिल किया जा रहा है।सर्वर साइड संचय openrasta

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

मैं openrasta-कैशिंग मॉड्यूल को देखा लेकिन लगता है कि यह केवल ब्राउज़र कैश नियंत्रित करने के लिए है है?
तो कोडक उत्पन्न होने के बाद, संसाधन के प्रस्तुत प्रतिनिधित्व को कैश करने के लिए मैं ओपनस्ट्रा कैसे प्राप्त कर सकता हूं?

धन्यवाद

+0

जोड़ना चाहिए कि यह प्रोग्राम के रूप में कैश अमान्य करने में सक्षम करने के लिए अच्छा होगा, के रूप में लगभग सभी संसाधनों के लिए अद्यतन संचालकों –

+0

.net का कौन सा संस्करण के साथ काम कर रहे हैं के माध्यम से आ रहे हैं? – JPReddy

+0

मैं .NET 4.0 के साथ काम कर रहा हूं .. क्यों? –

उत्तर

1

openrasta-कैशिंग सर्वर-साइड संचय के लिए प्रारंभिक समर्थन करता है, तो API आप asp.net सर्वर साइड कैश करने के लिए मैप कर सकते हैं, ServerCaching विशेषता का उपयोग के साथ। उसने कहा कि यह पूरा नहीं हुआ है, न ही उस मामले के लिए openrasta- कैशिंग है। यह एक 0.2 है जिसने इसे एक अच्छा v1 बनाने के लिए कुछ दिनों के काम की आवश्यकता होगी जो कि उन सभी परिदृश्यों का पूरी तरह समर्थन करता है जिन्हें मैं समर्थन देना चाहता हूं कि एएसपीनेट कैशिंग इंफ्रास्ट्रक्चर वर्तमान में समर्थन नहीं करता है (मुख्य रूप से, ओपनरास्टा में कैशिंग बनाना एक ऑब्जेक्ट की बजाय http मध्यस्थ की तरह और .net केंद्रित एक asp.net भूमि में मौजूद है, जिसमें सर्वर कैश के क्लाइंट नियंत्रण शामिल हैं, जब आप क्लाइंट को सर्वर को क्वेरी को फिर से करने के लिए मजबूर करने की अनुमति देते हैं)। चूंकि मेरे पास वर्तमान में कैशिंग पर काम करने वाली कोई क्लाइंट प्रोजेक्ट नहीं है, इसलिए उस प्लगइन पर किसी और काम को उचित ठहराना मुश्किल है, इसलिए मैं अभी इसके लिए कुछ भी कोड नहीं कर रहा हूं। मेरे पास 4 दिन का मुफ्त आ रहा है, इसलिए मुझे डीएम करें यदि आप ओपन्रास्टा-कैशिंग को 0.3 तक बंप करना चाहते हैं, जिसमें आपके पास जो भी आवश्यकता है, वह 4 दिनों के काम में फिट होगा।

आप IOperationInterceptor का उपयोग करके कुछ सरल कार्यान्वित कर सकते हैं और उस का उपयोग करके एएसपीनेट पाइपलाइन में प्लगिंग कर सकते हैं, या अधिक वेब-अनुकूल हो सकते हैं और स्क्विड का उपयोग करके प्रक्रिया के बाहर अपने कैशिंग को कार्यान्वित कर सकते हैं और सही http कैशिंग उत्पन्न करने के लिए ओपनस्टा-कैशिंग पर भरोसा कर सकते हैं निर्देश।

यह कहा गया कि, आपकी समस्या के लिए, यदि लागत जेसन में है तो आपको सर्वर कैशिंग की भी आवश्यकता नहीं हो सकती है। यदि आप अंतिम संशोधित या हैंडलर लौटने के लिए एटाग को मानचित्रित करते हैं, तो यह उचित रूप से 304 उत्पन्न करेगा, जहां उचित हो, और जेसन प्रतिपादन को बाईपास कर देगा, बशर्ते आपका क्लाइंट सशर्त अनुरोध (और यह होना चाहिए)।

वहाँ भी आप आगे अंतिम बार संशोधित/ETag पर पहली बार एक क्वेरी कर किसी भी डेटा पुन: प्राप्त बिना 304 वापस जाने के लिए अपना API अनुकूलन करने के लिए अनुमति देने के लिए एक प्रस्तावित एपीआई है।

संबंधित मुद्दे