/ / रेलो; संकेत दें कि क्या कैश्ड क्वेरी रीफ्रेश की गई है - कैशिंग, रेलो, सीएफएमएल, सीएफएचे

Railo; संकेत दें कि क्या कैश्ड क्वेरी रीफ्रेश की गई है - कैशिंग, रेलो, सीएफएमएल, सीएफएचे

प्रारंभिक स्थिति: एक फ़ंक्शन के अंदर मैं एक क्वेरी का उपयोग कर रहा हूं cachedWithin विशेषता। उसके ठीक नीचे cfquery टैग I "मी कैशिंग व्युत्पन्न और संबंधित डेटा में संग्रहीत एक संरचना में सर्वर का दायरा.

मुसीबत: मैं उस संरचना को फिर से आबाद करना चाहता हूं यदि उपरोक्त क्वेरी को ताज़ा किया गया है, लेकिन foo.cached केवल यह दर्शाता है कि टैग उपयोग करता है या नहींबिल्कुल कैशिंग। क्या रेलियो वास्तव में सच को प्राप्त करने के लिए अतिरिक्त मेटाडेटा प्रदान करता है यदि वह क्वेरी अपडेट की गई है, न कि केवल अगर यह बिल्कुल कैश की गई है या मुझे इसका सहारा लेना चाहिए? cfcache वैकल्पिक हल?

उत्तर:

जवाब के लिए 0 № 1

मेरा मानना ​​है कि result.cached आपको क्या चाहिए मैंने छोटे कैश्डविन टाइम स्पैन के साथ सिर्फ सैंपल क्वेरी का परीक्षण किया है और यह दो मामलों में गलत साबित हुआ है: (1) जब रिकॉर्ड जोड़ा; (२) जब टाइमआउट हुआ। तो आपका पहला अनुमान ठीक लगता है।


जवाब के लिए 0 № 2

बस किसी के हित में:

चूंकि "कैश्ड" विशेषता didn "t बाहर हैमेरे मामले में विश्वसनीय रहें (हो सकता है क्योंकि मुझे यह सिस्टम मेरे पूर्ववर्ती से विरासत में मिला है और "पिछले सर्वर में कितने एप्लिकेशन सर्वर को संशोधित किया गया है, इसके लिए टी वाउच कर सकता हूं) मैंने क्लासिक कैशगेट / कैशबैक डॉक ब्लॉक के आधार पर एक अलग दृष्टिकोण का सहारा लिया था। ।

परिणामी कैशिंग निर्णय तर्क बाद की संरचना के समयबाह्य पर आधारित है जो इस क्वेरी द्वारा खिलाया गया है।