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 में जारी किया जाएगा, और कोड आधार को गति देगा। हम रेडिस-पी में योगदान देने और इसके साथ काम करने के लिए डेवलपर टूलिंग पर भी काम कर रहे हैं!