Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

Upstash Redis Python SDK v1.0.0 पेश - कनेक्शनलेस, सर्वरलेस-रेडी क्लाइंट

आज हम upstash-redis पायथन पैकेज का v1.0.0 संस्करण जारी कर रहे हैं। यह अब GitHub और PyPi पर उपलब्ध है।

यह पैकेज Upstash Redis के लिए एक कनेक्शनलेस HTTP-आधारित क्लाइंट है, जिसे AWS Lambda, Google Cloud Functions या किसी भी वातावरण में उपयोग करने के लिए डिज़ाइन किया गया है जहां TCP पर HTTP पसंद किया जाता है।

नया क्या है?

नए संस्करणों के साथ, पैकेज हर कमांड के लिए उदाहरण उपयोग के साथ पायथन डॉकस्ट्रिंग्स के साथ आता है।

Upstash Redis Python SDK v1.0.0 पेश - कनेक्शनलेस, सर्वरलेस-रेडी क्लाइंट

आप Upstash Redis पायथन डॉक्स में हर कमांड के लिए दस्तावेज़ीकरण और उदाहरण भी पा सकते हैं।

क्विक स्टार्ट

पैकेज इंस्टॉल करें

pip install upstash-redis

Redis क्लाइंट बनाएं

from upstash_redis import UpstashRedis
redis = Redis(url="UPSTASH_REDIS_REST_URL", token="UPSTASH_REDIS_REST_TOKEN")
redis.set("key", "value")

आप कंस्ट्रक्टर में उन्हें पास करने के बजाय पर्यावरण चर UPSTASH_REDIS_REST_URL और UPSTASH_REDIS_REST_TOKEN का भी उपयोग कर सकते हैं।

from upstash_redis import UpstashRedis
redis = Redis.from_env()
redis.set("key", "value")

SDK asyncio और aiohttp पैकेज के साथ एसिंक फ़ंक्शन का भी समर्थन करता है।

import asyncio
from upstash_redis.asyncio import Redis
async def main():
  redis = Redis.from_env()
  await redis.set("key", "value")
asyncio.run(main())

यदि आप एक सर्वरलेस वातावरण में हैं जो इसकी अनुमति देता है, तो अनुरोध हैंडलर के बाहर क्लाइंट को आरंभ करने की सिफारिश की जाती है ताकि जब तक आपका फ़ंक्शन गर्म है तब तक इसका पुन: उपयोग किया जा सके।

कुछ कमांड में वैल्यू टाइप परिवर्तन

set या hset जैसे कुछ कमांड Any को वैल्यू टाइप के रूप में स्वीकार करते थे। वैल्यू को तब json.dumps का उपयोग करके स्ट्रिंग में बदल दिया जाता था। इससे कुछ कमांड में कुछ भ्रम पैदा हुआ।

इसे अब एक नए टाइप, ValueT में बदल दिया गया है जो केवल str, int, float और bool को स्वीकार करता है।

ValueT = Union[str, int, float, bool]
def set(
  self, key: str, value: ValueT, ...
) -> Optional[str]: ...

SDK अभी भी पुराने व्यवहार का समर्थन करता है लेकिन टाइपिंग बदल गई है।

# काम करता है, लेकिन टाइप एरर देता है
redis.set("key", {"foo": "bar"})
# काम करता है
redis.set("key", json.dumps({"foo": "bar"}))

Geo कमांड GeoSearchResult के बजाय Dict लौटाते हैं

geosearch और georadius कमांड अब एक डिक्शनरी के बजाय GeoSearchResult ऑब्जेक्ट लौटाते हैं जो उपयोग करने के लिए अधिक सुविधाजनक है।

Set कमांड Set के बजाय List लौटाते हैं

sdiff, sunion, sinter, और smembers मेथड के रिटर्न टाइप को Set से List में बदल दिया गया। यह उन उपयोगकर्ताओं के लिए अतिरिक्त सेट आवंटन को समाप्त करता है जो परिणाम पर पुनरावृत्ति कर रहे हैं। यदि वे चाहें, तो वे सूची को स्वयं सेट में वापस बदल सकते हैं।

निष्कर्ष

हमें उम्मीद है कि आप पैकेज के नए संस्करण का आनंद लेंगे। हम पायथन SDK में pipeline और json कमांड समर्थन जोड़ने की योजना बना रहे हैं।

आप हमारे पायथन रेटलिमिटिंग लाइब्रेरी या पायथन के बारे में हमारे अन्य ब्लॉग पोस्ट भी देख सकते हैं।

यदि आपके कोई प्रश्न या प्रतिक्रिया है, तो कृपया X या Discord पर हमसे संपर्क करें।

  1. C में बहुआयामी सरणियाँ C में बहुआयामी सरणियाँ

    यहां हम बहुआयामी सरणियों को देखेंगे। एक सरणी मूल रूप से सजातीय डेटा का एक समूह है। उन्हें सन्निहित मेमोरी स्थानों में रखा जाता है। विभिन्न मामलों में हम देख सकते हैं कि सरणियाँ एक-आयामी नहीं होती हैं। कभी-कभी हमें दो-आयामी या बहुआयामी रूप में सरणी बनाने की आवश्यकता होती है। बहुआयामी सरणियों को दो

  1. जावाएफएक्स में पाथ एलिमेंट क्यूबिक कर्व कैसे बनाएं जावाएफएक्स में पाथ एलिमेंट क्यूबिक कर्व कैसे बनाएं

    यह क्लास पाथ एलिमेंट क्यूबिक कर्व को दर्शाता है। यह आपको वर्तमान कोऑर्डिनेट्स से निर्दिष्ट (नए) कोऑर्डिनेट्स तक एक क्यूबिक कर्व खींचने में मदद करता है। लाइन पाथ एलिमेंट बनाने के लिए - CubicCurveTo क्लास को इंस्टेंटिएट करें। सेटर मेथड्स का उपयोग करके या उन्हें कंस्ट्रक्टर में पास करके इस क्लास की प

  1. HTML DOM Video muted प्रॉपर्टी HTML DOM Video muted प्रॉपर्टी

    HTML DOM Video muted प्रॉपर्टी HTML DOM Video muted प्रॉपर्टी एक बूलियन मान लौटाती/सेट करती है जो दर्शाता है कि वीडियो का ऑडियो म्यूट होगा या नहीं। सिंटैक्स बूलियन मान प्राप्त करना - true/false mediaObject.muted muted को बूलियन मान पर सेट करना mediaObject.muted = booleanValue यहां booleanValue