redis-py: स्ट्रिक्ट्रेडिस () और रेडिस () के बीच क्या अंतर है?


103

मैं रेडिस-पी का उपयोग करना चाहता हूं कुछ डेटा कैशिंग के लिए , लेकिन मैं redis.StrictRedis()और के बीच अंतर का उपयुक्त विवरण नहीं ढूंढ सकता redis.Redis()। क्या वे समकक्ष हैं?

इसके अलावा, मैं Redis Python डॉक्स केredis.StrictRedis() तर्कों के बारे में कोई स्पष्ट दस्तावेज नहीं पा सकता हूं । कोई उपाय?

जवाबों:


142

यह बहुत स्पष्ट लगता है :

 redis-py exposes two client classes that implement these commands
 The StrictRedis class attempts to adhere to the official command syntax.

तथा

In addition to the changes above, the Redis class, a subclass of StrictRedis,
overrides several other commands to provide backwards compatibility with older
versions of redis-py

क्या आपको पीछे की संगतता की आवश्यकता है? का उपयोग करें Redis। परवाह नहीं है? का उपयोग करें StrictRedis


2017/03/31

यहाँ github.com लिंक से उद्धृत पश्चगामी संगतता की बारीकियाँ हैं:

उपरोक्त परिवर्तनों के अलावा, रेडिस वर्ग, स्ट्रिक्टरेडिस का एक उपवर्ग, रेडिस-पी के पुराने संस्करणों के साथ पीछे की संगतता प्रदान करने के लिए कई अन्य आदेशों को ओवरराइड करता है:

LREM: 'संख्या ’और' मूल्य’ के तर्कों का क्रम ऐसा उलट गया कि 'संख्या ’शून्य का डिफ़ॉल्ट मान प्रदान कर सकती है।

ZADD: रेडिस 'मान' से पहले 'स्कोर' तर्क निर्दिष्ट करता है। लागू होने के बाद ये गलती से स्वैप हो गए थे और तब तक नहीं खोजे गए जब तक कि लोग पहले से ही इसका उपयोग नहीं कर रहे थे। Redis वर्ग को उम्मीद है कि: name1, score1, name2, score2, ... के रूप में * args

SETEX: 'समय' और 'मूल्य' के तर्क उलट गए।



39

यह एक पुराना प्रश्न है, लेकिन जो कोई भी इस खोज पर पहुंचता है, वह Google खोज के बाद

redis-py readme ( लिंक ) से:

redis-py 3.0 लीगेसी "Redis" क्लाइंट वर्ग के लिए समर्थन छोड़ देता है। "StrictRedis" को "Redis" नाम दिया गया है और "StrictRedis" नामक एक उपनाम प्रदान किया गया है ताकि पहले "StrictRedis" का उपयोग करने वाले उपयोगकर्ता अपरिवर्तित चल सकें।

यहाँ redis-py कोड से पंक्ति है जो परिभाषित करता है StrictRedis( लिंक ):

StrictRedis = Redis
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.