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

हैलो रेडिस-पीई, इट्स बीन ए मिनट

redis-py 4.1.0 जारी किया गया है!

रेडिस के लिए पायथन समर्थन एक दशक से अधिक समय से बढ़ रहा है, प्रति सप्ताह 1 मिलियन से अधिक डाउनलोड तक पहुंच गया है, और हमें नवीनतम रिलीज, रेडिस-पी 4.1.0 की घोषणा करते हुए गर्व हो रहा है!

यह रिलीज हमें रेडिस 6.2 में पूर्ण रेडिस कमांड समर्थन की थूकने की दूरी के भीतर लगभग लाता है। हमने मौजूदा कमांड में अनुपलब्ध विकल्पों के लिए समर्थन, सेंटिनल कनेक्शन के लिए एसएसएल समर्थन, और आमतौर पर डेवलपर अनुभव में सुधार किया है। यह बड़े संरचनात्मक परिवर्तन भी लाता है जैसे कि पायथन 3.6 पर ध्यान केंद्रित करना, और यहां तक ​​​​कि पायथन 3.10 समर्थन भी। हमने अपने क्लाइंट दस्तावेज़ों को नया रूप दिया है, जिससे रेडिस कमांड ढूंढना आसान हो गया है, और सभी को इसमें शामिल होने के लिए प्रोत्साहित किया जा रहा है! इससे भी महत्वपूर्ण बात यह है कि हमने इसे न्यूनतम व्यवधान के साथ किया है, ताकि आप संगतता समस्याओं के बिना अपग्रेड कर सकें।

नवीनतम Redis कमांड के लिए समर्थन

Redis 6.2 अपने साथ नए Redis कमांड का एक बड़ा समूह लेकर आया है, और अब उन्हें Python के साथ उपयोग करना पहले से कहीं अधिक आसान है। GETEX के साथ एकल कमांड में डेटा प्राप्त करना और इसकी समाप्ति को अपडेट करना आसान बनाने से लेकर क्लाइंट जानकारी और क्लाइंट किल redis-py 4.1.0 के साथ क्लाइंट को डिस्कनेक्ट करके अपने रेडिस इंस्टेंस को प्रबंधित करने के लिए आपने कवर किया है। आइए redis-py 4.1.0 में जोड़े गए 30 से अधिक कमांड के नीचे दो उदाहरण देखें!

### GETEX
import redis
r = redis.Redis()
r.set('somekey', 'hello')
r.getex('somekey', ex=15) # returns 'Hello'
r.ttl('somekey') # returns 15
​
​
### CLIENT INFO AND KILL
import redis
r = redis.Redis()
r2 = redis.Redis()
r.client_setname('redis-py-c1')
r2.client_setname('redis-py-c2')
​
clients = [client for client in r.client_list()
                   if client.get('name') in ['redis-py-c1', 'redis-py-c2']]
clients_by_name = dict([(client.get('name'), client)
                                for client in clients])
r.client_kill_filter(laddr=clients_by_name['redis-py-c2'].get('laddr'))

प्रथम श्रेणी Redis मॉड्यूल समर्थन

रेडिस-पीई 4.0 रेडिस मॉड्यूल के लिए प्रथम श्रेणी का समर्थन लाने के लिए पायथन पुस्तकालय का पहला संस्करण था। Redis-py 4.1.0 की रिलीज के साथ, अब हमारे पास RedisJSON, RediSearch, RedisTimeSeries, RedisGraph और RedisBloom के लिए समर्थन है। यह सही है, आप आसानी से JSON डेटा को Redis में स्टोर कर सकते हैं! आप इस पर काम कर सकते हैं - आप इसे खोज भी सकते हैं! बस याद रखें, जब आप JSON डेटा को Redis में संग्रहीत करते हैं, तो आप एक नया डेटा प्रकार संग्रहीत कर रहे होते हैं, इसलिए आपको उसमें हेरफेर करने के लिए JSON विशिष्ट कमांड का उपयोग करने की आवश्यकता होती है। यहां कुछ उदाहरण दिए गए हैं:

### STORING and RETRIEVING JSON
​
import redis
r = redis.Redis()
myDoc = {'hello', 'world', 'colours': ['red', 'blue', 'green'], 'hmm': {'hello': 'again'}}
r.json().set('colors', '$', myDoc)
r.json().get('colors')

उपरोक्त myDoc जैसे दस्तावेज़ों के बारे में क्या? क्या आप जानते हैं कि आप दस्तावेज़ के एक हिस्से को क्वेरी करके कई कुंजियाँ प्राप्त कर सकते हैं?

### FETCHING ALL KEYS NAMED “hello” from the JSON document
r.json().get('colors', '$..hello')

आप दस्तावेज़ क्षमताओं के लिए RedisJSON और RediSearch को भी जोड़ सकते हैं या अपना कस्टम Redis मॉड्यूल समर्थन जोड़ सकते हैं। यह सब कुछ redis-py 4.0 में है।

Redis-py के साथ Redis क्लस्टर समर्थन

क्या आप जानते हैं कि रेडिस-पीई 4.1.0 कनेक्ट करने के दो आसान तरीकों के साथ रेडिस-क्लस्टर समर्थन को भी एकीकृत करता है? स्टैंडअलोन रेडिस नोड्स के साथ इंटरैक्ट करने का वही शानदार अनुभव अब रेडिस-पीई का हिस्सा है।

### CONNECTING TO CLUSTER
from redis.cluster import RedisCluster
r = RedisCluster.from_url('redis://4.5.6.8:6379')
nodes = r.get_nodes()

हो सकता है कि आप एसएसएल के माध्यम से अपने क्लस्टर से जुड़ना चाहते हों या क्लास इनिट आधारित दृष्टिकोण पसंद करते हों, और विशिष्ट नोड्स को लक्षित करते हुए कमांड चलाना चाहते हों। redis-py 4.1.0 उन परिदृश्यों का समर्थन करता है!

### CONNECTING TO CLUSTER 2
from redis.cluster import RedisCluster
r = RedisCluster('4.5.6.8', port=6379, ssl=True)
r.ping(target_nodes='all')

आगे क्या है?

काम कभी पूरा नहीं हुआ और हम पूरी ताकत से आगे बढ़ रहे हैं! हम समान प्रथम श्रेणी के अनुभव के साथ अधिक मॉड्यूल के लिए समर्थन जोड़ेंगे, जैसे कि RedisAI। हम RESP3 फ़ंक्शन के लिए समर्थन जोड़ने जा रहे हैं जो Redis 7 में जारी किया जाएगा, और कोड आधार को गति देगा। हम रेडिस-पी में योगदान देने और इसके साथ काम करने के लिए डेवलपर टूलिंग पर भी काम कर रहे हैं!


  1. पेश है रेडिस लॉन्चपैड

    रेडिस समुदाय हमेशा रेडिस को महान बनाने के मूल में रहा है। इस समूह के लिए धन्यवाद, रेडिस को लगातार 5वीं बार स्टैक ओवरफ्लो के डेवलपर सर्वेक्षण में सबसे अधिक पसंद किए जाने वाले डेटाबेस के रूप में चुना गया था। जैसे-जैसे रेडिस की लोकप्रियता बढ़ती है, वैसे-वैसे डेवलपर समुदायों, उद्योगों के वर्टिकल और भौगो

  1. Redis.io को ताज़ा और विस्तारित करना

    आज हमें Redis.io के पुन:लॉन्च की घोषणा करते हुए खुशी हो रही है। Redis.io हमेशा से Redis का घर रहा है और नए Redis उपयोगकर्ताओं के लिए प्रवेश बिंदु रहा है। इस लॉन्च के साथ, हमने साइट के डिज़ाइन को आधुनिक बनाने और इसके बुनियादी ढांचे को अपडेट करते हुए कोर रेडिस दस्तावेज़ीकरण को संशोधित किया है। इस पो

  1. तेजी से गणना में रेडिस का प्रयोग करें

    यह उदाहरण Fastly CLI के पुराने संस्करण का उपयोग करता है। अप-टू-डेट संस्करण के लिए इस लेख को देखें। इस पोस्ट में हम एक साधारण एप्लीकेशन लिखेंगे जो Fastly Compute@Edge पर चलेगी। एप्लिकेशन पृष्ठ दृश्यों का ट्रैक रखने के लिए Upstash Redis को एक्सेस करेगा। प्रेरणा एज कंप्यूटिंग हाल के वर्षों में सबसे