2012-02-09 11 views
9

के साथ कैशिंग डेटाबेस क्वेरीज क्या डेटाबेस (mysql) क्वेरी कैशिंग का निष्पादन पूरी तरह से Node.js में लिखा गया है?Node.js

मैं एक नोड वेब अनुप्रयोग लिख रहा हूँ और memcached साथ कैशिंग प्रश्नों पर योजना बना रहा था, लेकिन जब इस पर विचार मुझे एहसास हुआ कि यह शायद एक अलग Node.js परत के माध्यम से कैशिंग करने के लिए संभव है बजाय

व्याख्या करने के लिए:

आप एक अलग पोर्ट पर एक नोड सर्वर के माध्यम से डेटाबेस से पूछ सकते हैं, जहां उपलब्ध हो वहां स्मृति से डेटा लौटा सकते हैं और इसे स्मृति में लोड कर सकते हैं जहां यह नहीं है।

कोई भी जानता है कि कैसे नोड.जेएस हैशहेड पर वापसी की गति के मामले में memcache की तुलना करेगा? क्या यह एक पाइप-सपना है या मुझे कुछ देखना चाहिए?

उत्तर

4

मैं आगे बढ़ गया और निजी उपयोग के लिए एक कैशिंग समाधान लिखा जो साझा ऑब्जेक्ट में डेटा संग्रहीत करता था। यह वास्तव में क्वेरी कैशिंग नहीं था, यह हैश द्वारा आदेशित कच्चे एसक्यूएल परिणामों के बजाय विशिष्ट परिणाम संग्रहीत करता है, लेकिन यह मुझे स्मृति में जो चाहिए था उसे रखा और लिखने के लिए हास्यास्पद रूप से आसान था।

जब से मैं मूल रूप से इस सवाल नोड संचय समाधानों की एक संख्या emmerged है पूछा:

  1. ptarjan/node-cache
  2. tcs-de/nodecache
  3. vxtindia/node-cache
  4. mape/node-caching

मैं किसी भी उपयोग नहीं किया है इनमें से एक लेकिन उनमें से एक अच्छी तरह से उपयोग टी हो सकता है ओ किसी और।

अब redis और memcached क्लाइंट नोड के लिए भी हैं।

1

आप निश्चित रूप से इस तरह कुछ नोड में कार्यान्वित कर सकते हैं, और यह एक दिलचस्प परियोजना हो सकती है, लेकिन यह आपकी आवश्यकताओं पर निर्भर करती है। यदि आप इसे शौक परियोजना के लिए कर रहे हैं, तो हर तरह से, नोड में कैशिंग परत बनाएं और इसे आज़माएं। आईये जानते हैं कि यह कैसा रहेगा!

यदि यह उत्पादन के उपयोग के लिए है, तो मैं स्थापित कैशिंग परतों (memcached, redis, आदि) पर चिपकने की सिफारिश करता हूं क्योंकि वे स्केलेबल कैशिंग सिस्टम के निर्माण से जुड़े सभी बढ़ती पीड़ाओं से पहले ही चले गए हैं।

+0

यह उत्पादन के लिए है, लेकिन हम अभी भी इसका उपयोग करने के मार्ग पर जा सकते हैं, निश्चित रूप से शुरू करने के लिए, क्योंकि एप्लिकेशन को वैसे भी लागू करना होगा जो वैसे भी आवश्यक होगा। मैं आपको निश्चित रूप से बता दूंगा कि हम कैसे करते हैं। – thelastshadow

0

मैंने एक node.js मॉड्यूल लिखा है जो memcached का उपयोग कर MySQL क्वेरी कैशिंग करता है।

मॉड्यूल मेमेंटो नामित और https://www.npmjs.com/package/memento-mysql

का आनंद लें पर उपलब्ध है कर रहा है!