Upstash देशी Redis API के अलावा REST API का भी समर्थन करता है। आरईएसटी एपीआई डेवलपर्स को सर्वर रहित और किनारे के कार्यों से कनेक्शन के मुद्दों के बिना अपने रेडिस तक पहुंचने में मदद करता है। लेकिन अगर आप एक ही फ़ंक्शन में कई रेडिस कमांड निष्पादित करते हैं, तो इसका मतलब है कि आप डेटाबेस को कई बार कॉल करेंगे। हमारे समुदाय के सदस्यों में से एक (@MasterGates) हमारे डिस्कॉर्ड चैनल में एक अच्छा सुझाव लेकर आया है। पाइपलाइन एपीआई:
पाइपलाइन एपीआई
पाइपलाइन एपीआई आरईएसटी एपीआई के लिए रेडिस पाइपलाइन कमांड का सिर्फ अनुकूलन है। आप एक ही http अनुरोध में एकाधिक आदेश भेजते हैं, प्रतिक्रिया एक ही अनुरोध में वापस कर दी जाती है। यह आरटीटी (राउंड ट्रिप टाइम) को कम करने के साथ-साथ सॉकेट I/O को कम करके आपके एप्लिकेशन के प्रदर्शन में सुधार करता है।
अनुरोध सिंटैक्स:
curl -X POST https://us1-merry-cat-32748.upstash.io/pipeline \
-H "Authorization: Bearer 2553feg6a2d9842h2a0gcdb5f8efe9934" \
-d '
[
["SET", "key1", "valuex"],
["SETEX", "key2", 13, "valuez"],
["INCR", "key1"],
["ZADD", "myset", 11, "item1", 22, "item2"]
]
'
प्रतिक्रिया सिंटैक्स:
[
{ "result": "OK" },
{ "result": "OK" },
{ "error": "ERR value is not an integer or out of range" },
{ "result": 2 }
]
आदेश देने की गारंटी और परमाणुता
Upstash गारंटी देता है कि पाइपलाइन में कमांड उसी क्रम में निष्पादित होते हैं। लेकिन परमाणुता की गारंटी नहीं है। अन्य क्लाइंट द्वारा भेजे गए कमांड पाइपलाइन के साथ इंटरलीव कर सकते हैं। कुछ आदेश विफल हो सकते हैं जबकि शेष सफलतापूर्वक निष्पादित किए जाते हैं।
पाइपलाइन एपीआई की एक और सीमा यह है कि आपके आदेश स्वतंत्र होने चाहिए, इसलिए पाइपलाइन में किसी अन्य कमांड द्वारा कमांड की प्रतिक्रिया की आवश्यकता नहीं होनी चाहिए।
Upstash REST API के बारे में अधिक जानने के लिए हमारे दस्तावेज़ देखें। हम अपने उपयोगकर्ताओं द्वारा निर्देशित एपीआई विकसित करना जारी रखते हैं, इसलिए कृपया ट्विटर या विवाद पर अपनी प्रतिक्रिया साझा करें।