Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

रेडिस लुआ वास्तव में इसका उपयोग कब करें?

लुआ स्क्रिप्ट MULTI . की तरह काम करने के लिए हैं आदेश। वास्तव में अधिकांश कमांड जिन्हें आप MULTI . का उपयोग करके विकसित करेंगे रेडिस क्लाइंट से कमांड लुआ में लागू किया जा सकता है। यानी, आप एक स्क्रिप्ट में कुछ जटिल ऑपरेशनों को इनकैप्सुलेट कर सकते हैं और आपकी डेटा परत परमाणु राइट ऑपरेशन को निष्पादित करेगी। Redis पर आपकी डेटा मॉडलिंग रणनीति के बारे में चिंता किए बिना।

साथ ही, जब आप त्वरित लेकिन जटिल पठन संचालन करना चाहते हैं तो मैं उन्हें उपयोगी पाता हूं। उदाहरण के लिए, आप वस्तुओं को क्रम में प्राप्त करना चाह सकते हैं। वस्तुओं को हैश कुंजी . में संग्रहीत किया जाता है जबकि आदेश को सॉर्ट की गई सेट कुंजी . द्वारा परिभाषित किया गया है . आपको तथाकथित सॉर्ट किए गए सेट की एक श्रृंखला मिलती है और आपको hmget . का उपयोग करके हैश में ऑब्जेक्ट मिलते हैं ।

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

लुआ का उपयोग न करने के तर्क

मैं तर्क दूंगा कि जब आपको वास्तव में उनकी आवश्यकता हो तो आपको उनका उपयोग करना चाहिए। आमतौर पर, क्लाइंट को C#, Java, JavaScript, Ruby... जैसी उच्च-स्तरीय प्रोग्रामिंग भाषाओं का उपयोग करके विकसित किया जाता है और वे बेहतर विकास अनुभव प्रदान करते हैं:अच्छा डिबगर्स, IDE, कोड-पूर्णता...

सारांश:यदि आप अपने डोमेन लॉजिक के कुछ हिस्से को रेडिस लुआ स्क्रिप्ट में बदलते हैं, तो आपको उनका उपयोग करना चाहिए यदि आप यह साबित कर सकते हैं कि एक वास्तविक लाभ (प्रदर्शन में) है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Node.js और रेडिस; एक लूप खत्म होने की प्रतीक्षा कर रहा है

  2. संदेश की प्रतीक्षा में हिरेडिस

  3. डॉकर और अजवाइन - त्रुटि:पिडफाइल (celerybeat.pid) पहले से मौजूद है

  4. Ingress Nginx नियंत्रक के साथ रेडिस को उजागर करना

  5. रेडिस में वस्तु गुणों को संग्रहीत करना