खोज…


परिचय

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

स्क्रिप्टिंग के लिए कमांड

Redis स्क्रिप्ट के साथ काम करने के लिए सात अलग-अलग ऑपरेशन प्रदान करता है:

  • गोल संचालन (EVAL, EVALSHA)
  • SCRIPT ऑपरेशंस (DEBUG, EXISTS, FLUSH, KILL, LOAD)

EVAL कमांड सर्वर को एक स्ट्रिंग तर्क के रूप में प्रदान की गई स्क्रिप्ट का मूल्यांकन करता है। लिपियाँ निर्दिष्ट Redis कुंजियों को कमांड के तर्क के रूप में और अतिरिक्त स्ट्रिंग मापदंडों तक पहुंच सकती हैं, जो उपयोगकर्ता स्क्रिप्ट में पास करना चाहता है।

उदाहरण के लिए, कमांड:

EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second

एक उपयोगकर्ता परिभाषित Lua स्क्रिप्ट के निष्पादन का कारण बनता है जो केवल आपूर्ति किए गए मूल्यों को वापस करता है। कॉल 2 रेडिस कुंजी (की 1 और की 2) और दो मापदंडों के साथ शामिल है।

किसी Lua स्क्रिप्ट को निष्पादित करने का दूसरा तरीका यह है कि पहले इसे डेटाबेस में लोड करें और फिर स्क्रिप्ट के SHA हैश का उपयोग करके इसे निष्पादित करें।

> script load "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}"
"a42059b356c875f0717db19a51f6aaca9ae659ea"
> evalsha "a42059b356c875f0717db19a51f6aaca9ae659ea" 2 key1 key2 foo bar
1) "key1"
2) "key2"
3) "foo"
4) "bar"

स्क्रिप्ट लोड कमांड स्क्रिप्ट को लोड करता है और डेटाबेस में संग्रहीत करता है। स्क्रिप्ट का एक छाया हस्ताक्षर लौटाया जाता है ताकि इसे भविष्य की कॉल के द्वारा संदर्भित किया जा सके। EVALSHA फ़ंक्शन शा को लेता है और डेटाबेस से संबंधित स्क्रिप्ट को निष्पादित करता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow