रेडिस: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 33: Line 33:
रेडिस को बीएसडी 3-क्लॉज लाइसेंस के अनुसार जारी किया गया है।<ref name="github20190227" />
रेडिस को बीएसडी 3-क्लॉज लाइसेंस के अनुसार जारी किया गया है।<ref name="github20190227" />
==इतिहास==
==इतिहास==
[[File:Salvatore Sanfilippo.png|right|thumb|रेडिस के मूल डेवलपर साल्वाटोर सैनफिलिपो (2015 में ली गई तस्वीर)]]रेडिस नाम का अर्थ रिमोट डिक्शनरी सर्वर है।<ref name="RedisFAQ" />रेडिस परियोजना तब प्रारंभ हुई जब रेडिस के मूल डेवलपर, सल्वाटोर सैनफिलिपो, उपनाम एंटीरेज़, एक [[वास्तविक समय कंप्यूटिंग]] | रीयल-टाइम वेब लॉग विश्लेषक विकसित करके अपने इतालवी स्टार्टअप की स्केलेबिलिटी में सुधार करने की कोशिश कर रहे थे। पारंपरिक डेटाबेस सिस्टम का उपयोग करके कुछ प्रकार के वर्कलोड को स्केल करने में महत्वपूर्ण समस्याओं का सामना करने के बाद, सैनफिलिपो ने 2009 में [[ टी.सी.एल |टी.सी.एल]] में रेडिस के अवधारणा संस्करण के पहले प्रमाण का प्रोटोटाइप बनाना प्रारंभ किया।<ref>{{cite web |title=रेडिस का टीसीएल प्रोटोटाइप|date=April 28, 2017 |website=GitHub Gist |last=Sanfilippo |first=Salvatore |url=https://gist.github.com/antirez/6ca04dd191bdb82aad9fb241013e88a8 |access-date=October 8, 2018}}</ref> बाद में सैनफिलिपो ने उस प्रोटोटाइप का सी भाषा में अनुवाद किया और पहला डेटा प्रकार, सूची लागू किया। परियोजना को आंतरिक रूप से सफलता के साथ उपयोग करने के कुछ हफ्तों के बाद, सैनफिलिपो ने [[ हैकर समाचार |हैकर समाचार]] पर परियोजना की घोषणा करते हुए इसे खोलने का फैसला किया। इस परियोजना को विशेष रूप से रूबी समुदाय के बीच लोकप्रियता मिलनी प्रारंभ हुई, गिटहब और [[ Instagram |Instagram]] इसे अपनाने वाली पहली कंपनियों में से थे।<ref>{{cite web |title=रेसक्यू का परिचय|date=November 3, 2009 |website=Blog |last=Wanstrath |first=Chris |url=https://blog.github.com/2009-11-03-introducing-resque/ |access-date=October 8, 2018}}</ref><ref>{{cite web |url=https://instagram-engineering.com/storing-hundreds-of-millions-of-simple-key-value-pairs-in-redis-1091ae80f74c |title=रेडिस में करोड़ों सरल कुंजी-मूल्य जोड़े संग्रहीत करना|date=October 31, 2011 |last=Krieger |first=Mike |website=Instagram Engineering Blog |access-date=October 8, 2018}}</ref>
[[File:Salvatore Sanfilippo.png|right|thumb|रेडिस के मूल डेवलपर साल्वाटोर सैनफिलिपो (2015 में ली गई तस्वीर)]]रेडिस नाम का अर्थ रिमोट डिक्शनरी सर्वर होता है।<ref name="RedisFAQ" /> रेडिस परियोजना तब प्रारंभ हुई जब रेडिस के मूल डेवलपर, सल्वाटोर सैनफिलिपो, उपनाम एंटीरेज़, एक रीयल-टाइम वेब लॉग विश्लेषक विकसित करके अपने स्टार्टअप की स्केलेबिलिटी में सुधार करने की कोशिश कर रहे थे। पारंपरिक डेटाबेस सिस्टम का उपयोग करके कुछ प्रकार के वर्कलोड को स्केल करने में महत्वपूर्ण समस्याओं का सामना करने के बाद, सैनफिलिपो ने 2009 में [[ टी.सी.एल |टी.सी.एल]] में रेडिस के अवधारणा संस्करण के पहले प्रमाण का प्रोटोटाइप बनाना प्रारंभ किया था।<ref>{{cite web |title=रेडिस का टीसीएल प्रोटोटाइप|date=April 28, 2017 |website=GitHub Gist |last=Sanfilippo |first=Salvatore |url=https://gist.github.com/antirez/6ca04dd191bdb82aad9fb241013e88a8 |access-date=October 8, 2018}}</ref> बाद में सैनफिलिपो ने उस प्रोटोटाइप का सी लैंग्वेज में अनुवाद किया और पहला डेटा प्रकार, सूची प्रस्तुत किया। परियोजना को आंतरिक रूप से सफलता के साथ उपयोग करने के कुछ हफ्तों के बाद, सैनफिलिपो ने [[ हैकर समाचार |हैकर समाचार]] पर परियोजना की घोषणा करते हुए इसे प्रस्तुत करने का फैसला किया। इस परियोजना को विशेष रूप से रूबी समुदाय के बीच लोकप्रियता मिलनी प्रारंभ हुई थी, गिटहब और [[ Instagram |इंस्टाग्राम]] इसे अपनाने वाली पहली कंपनियों में से एक थे।<ref>{{cite web |title=रेसक्यू का परिचय|date=November 3, 2009 |website=Blog |last=Wanstrath |first=Chris |url=https://blog.github.com/2009-11-03-introducing-resque/ |access-date=October 8, 2018}}</ref><ref>{{cite web |url=https://instagram-engineering.com/storing-hundreds-of-millions-of-simple-key-value-pairs-in-redis-1091ae80f74c |title=रेडिस में करोड़ों सरल कुंजी-मूल्य जोड़े संग्रहीत करना|date=October 31, 2011 |last=Krieger |first=Mike |website=Instagram Engineering Blog |access-date=October 8, 2018}}</ref>
मार्च, 2010 में [[ VMware |VMware]] द्वारा सैनफिलिपो को काम पर रखा गया था।<ref>{{cite web |title=VMware Hires Redis Key Developer – But Why? |date=March 17, 2010 |website=Blog |last=Shapira |first=Gwen |url=https://prodlife.wordpress.com/2010/03/17/vmware-hires-redis-key-developer-but-why/ |access-date=September 25, 2016}}</ref><ref>{{cite web |title=VMware: the new Redis home |website=Blog |date=March 15, 2010 |last=Sanfilippo |first=Salvatore |url=http://antirez.com/post/vmware-the-new-redis-home.html |access-date=September 25, 2016}}</ref><ref>{{cite web |url=http://blogs.vmware.com/console/2010/03/vmware-hires-key-developer-for-redis.html |title=VMware: The Console: VMware hires key developer for Redis |website=VMware Blog |date=March 15, 2010 |last=Collison |first=Derek |archive-url=https://web.archive.org/web/20100322191425/http://blogs.vmware.com/console/2010/03/vmware-hires-key-developer-for-redis.html |archive-date=March 22, 2010 |access-date=September 25, 2016 |url-status=dead }}</ref>
मार्च, 2010 में [[ VMware |VMware]] द्वारा सैनफिलिपो को काम पर रखा गया था।<ref>{{cite web |title=VMware Hires Redis Key Developer – But Why? |date=March 17, 2010 |website=Blog |last=Shapira |first=Gwen |url=https://prodlife.wordpress.com/2010/03/17/vmware-hires-redis-key-developer-but-why/ |access-date=September 25, 2016}}</ref><ref>{{cite web |title=VMware: the new Redis home |website=Blog |date=March 15, 2010 |last=Sanfilippo |first=Salvatore |url=http://antirez.com/post/vmware-the-new-redis-home.html |access-date=September 25, 2016}}</ref><ref>{{cite web |url=http://blogs.vmware.com/console/2010/03/vmware-hires-key-developer-for-redis.html |title=VMware: The Console: VMware hires key developer for Redis |website=VMware Blog |date=March 15, 2010 |last=Collison |first=Derek |archive-url=https://web.archive.org/web/20100322191425/http://blogs.vmware.com/console/2010/03/vmware-hires-key-developer-for-redis.html |archive-date=March 22, 2010 |access-date=September 25, 2016 |url-status=dead }}</ref>
मई, 2013 में, रेडिस को [[ निर्णायक सॉफ्टवेयर |निर्णायक सॉफ्टवेयर]] (एक वीएमवेयर स्पिन-ऑफ) द्वारा प्रायोजित किया गया था।<ref>{{cite web |url=https://redis.io/topics/sponsors |title=रेडिस प्रायोजक|last=Sanfilippo |first=Salvatore |website=Redis.io |publisher=Redis Labs |access-date=April 11, 2019}}</ref>
मई, 2013 में, रेडिस को [[ निर्णायक सॉफ्टवेयर |निर्णायक सॉफ्टवेयर]] (एक वीएमवेयर स्पिन-ऑफ) द्वारा प्रायोजित किया गया था।<ref>{{cite web |url=https://redis.io/topics/sponsors |title=रेडिस प्रायोजक|last=Sanfilippo |first=Salvatore |website=Redis.io |publisher=Redis Labs |access-date=April 11, 2019}}</ref>
जून 2015 में, विकास रेडिस लैब्स द्वारा प्रायोजित हो गया।<ref>{{cite web |url=http://antirez.com/news/91 |title=धन्यवाद पिवोटल, हेलो रेडिस लैब्स|date=July 15, 2015 |last=Sanfilippo |first=Salvatore |website=<antirez> |access-date=2019-04-03}}</ref>
 
अक्टूबर 2018 में, रेडिस 5.0 जारी किया गया था, जिसमें रेडिस स्ट्रीम की शुरुआत की गई थी - एक नई डेटा संरचना जो एक ही कुंजी पर स्वचालित, समय-आधारित अनुक्रम के साथ कई फ़ील्ड और स्ट्रिंग मानों को संग्रहीत करने की अनुमति देती है।<ref name="redis.com">{{Cite web|url=https://redis.com/blog/redis-5-0-is-here/|title = Redis 5.0 is here!|date = 22 October 2018}}</ref>
जून 2015 में, विकास रेडिस लैब्स द्वारा प्रायोजित हो गया था।<ref>{{cite web |url=http://antirez.com/news/91 |title=धन्यवाद पिवोटल, हेलो रेडिस लैब्स|date=July 15, 2015 |last=Sanfilippo |first=Salvatore |website=<antirez> |access-date=2019-04-03}}</ref>
जून 2020 में, साल्वाटोर सैनफिलिपो ने रेडिस अनुरक्षक के रूप में पद छोड़ दिया।<ref>https://www.theregister.com/2020/06/30/redis_creator_antirez_quits/ source</ref><ref>{{Cite web|title=रेडिस साहसिक कार्य का अंत -|url=http://antirez.com/news/133|access-date=2020-11-10|website=antirez.com}}</ref>
 
अक्टूबर 2018 में, रेडिस 5.0 जारी किया गया था, जिसमें रेडिस स्ट्रीम का प्रारंभ किया गया था - यह एक नई डेटा संरचना है जो एक ही कुंजी पर स्वचालित, समय-आधारित अनुक्रम के साथ कई स्ट्रिंग मानों को संग्रहीत करने की अनुमति देती है।<ref name="redis.com">{{Cite web|url=https://redis.com/blog/redis-5-0-is-here/|title = Redis 5.0 is here!|date = 22 October 2018}}</ref>
 
जून 2020 में, साल्वाटोर सैनफिलिपो ने रेडिस अनुरक्षक के रूप में पद छोड़ दिया था।<ref>https://www.theregister.com/2020/06/30/redis_creator_antirez_quits/ source</ref><ref>{{Cite web|title=रेडिस साहसिक कार्य का अंत -|url=http://antirez.com/news/133|access-date=2020-11-10|website=antirez.com}}</ref>
==अन्य डेटाबेस प्रणालियों से अंतर==
==अन्य डेटाबेस प्रणालियों से अंतर==
रेडिस ने एक ऐसे सिस्टम के विचार को लोकप्रिय बनाया जिसे एक ही समय में स्टोर और कैश (कंप्यूटिंग) माना जा सकता है। इसे इस तरह से डिज़ाइन किया गया था कि डेटा को हमेशा संशोधित किया जाता है और मुख्य कंप्यूटर मेमोरी से पढ़ा जाता है, लेकिन डिस्क पर ऐसे प्रारूप में भी संग्रहीत किया जाता है जो यादृच्छिक डेटा एक्सेस के लिए अनुपयुक्त है। सिस्टम के पुनरारंभ होने के बाद ही स्वरूपित डेटा को मेमोरी में पुनर्निर्मित किया जाता है।
रेडिस ने एक ऐसे सिस्टम के विचार को लोकप्रिय बनाया जिसे एक ही समय में स्टोर और कैश (कंप्यूटिंग) करा जा सकता है। इसे इस तरह से डिज़ाइन किया गया था जो डेटा को हमेशा संशोधित करता है और मुख्य कंप्यूटर मेमोरी से पढ़ा जाता है, लेकिन डिस्क पर ऐसे प्रारूप में भी संग्रहीत किया जाता है जो यादृच्छिक डेटा एक्सेस के लिए अनुपयुक्त होते है। सिस्टम के पुनरारंभ होने के बाद ही स्वरूपित डेटा को मेमोरी में पुनर्निर्मित किया जाता है।


रेडिस एक डेटा मॉडल भी प्रदान करता है जो [[ संबंधपरक डेटाबेस प्रबंधन प्रणाली |संबंधपरक डेटाबेस प्रबंधन प्रणाली]] (आरडीबीएमएस) की तुलना में बहुत असामान्य है। उपयोगकर्ता कमांड डेटाबेस इंजन द्वारा निष्पादित की जाने वाली क्वेरी का वर्णन नहीं करते है, बल्कि विशिष्ट संचालन का वर्णन करते है जो दिए गए अमूर्त डेटा प्रकारों पर किए जाते है। इसलिए डेटा को ऐसे तरीके से संग्रहीत किया जाना चाहिए जो बाद में तेजी से पुनर्प्राप्ति के लिए उपयुक्त हो। द्वितीयक सूचकांक, एकत्रीकरण या पारंपरिक आरडीबीएमएस की अन्य सामान्य विशेषताओं के रूप में डेटाबेस सिस्टम की मदद के बिना पुनर्प्राप्ति की जाती है। रेडिस कार्यान्वयन डेटा रखने वाली प्रक्रिया को डुप्लिकेट करने के लिए [[ कांटा (सिस्टम कॉल) |कांटा (सिस्टम कॉल)]] सिस्टम कॉल का भारी उपयोग करता है, ताकि मूल प्रक्रिया ग्राहकों को सेवा प्रदान करती रहे जबकि चाइल्ड प्रक्रिया डिस्क पर डेटा की इन-मेमोरी कॉपी बनाती है।
रेडिस एक डेटा मॉडल भी प्रदान करता है जो [[ संबंधपरक डेटाबेस प्रबंधन प्रणाली |संबंधपरक डेटाबेस प्रबंधन प्रणाली]] (आरडीबीएमएस) की तुलना में बहुत असामान्य होता है। उपयोगकर्ता कमांड डेटाबेस इंजन द्वारा निष्पादित की जाने वाली क्वेरी का वर्णन नहीं करते है, जबकि विशिष्ट संचालन का वर्णन करते है जो दिए गए अमूर्त डेटा प्रकारों पर उपयोग किए जाते है। इसलिए डेटा को ऐसे विधि से संग्रहीत किया जाना चाहिए जो बाद में तेजी से पुनर्प्राप्ति के लिए उपयुक्त हो। द्वितीयक सूचकांक, एकत्रीकरण या पारंपरिक आरडीबीएमएस की अन्य सामान्य विशेषताओं के रूप में डेटाबेस सिस्टम की मदद के बिना पुनर्प्राप्ति की जाती है। रेडिस कार्यान्वयन डेटा रखने वाली प्रक्रिया को डुप्लिकेट करने के लिए सिस्टम कॉल का उपयोग करता है, जिससे कि मूल प्रक्रिया ग्राहकों को सेवा प्रदान करती रहती है जबकि चाइल्ड प्रक्रिया डिस्क पर डेटा की इन-मेमोरी कॉपी बनाती है।


==लोकप्रियता==
==लोकप्रियता==
मासिक [[डीबी-इंजन रैंकिंग]] के अनुसार, रेडिस अक्सर सबसे लोकप्रिय कुंजी-मूल्य डेटाबेस है।<ref name=":0">{{cite web |url=http://db-engines.com/en/ranking/key-value+store |title=डीबी-इंजन रैंकिंग - की-वैल्यू स्टोर्स की लोकप्रियता रैंकिंग|website=DB-Engines}}</ref> रेडिस को उपयोगकर्ता समीक्षाओं के आधार पर उपयोगकर्ता संतुष्टि और बाज़ार में उपस्थिति के मामले में #4 [[NoSQL]] डेटाबेस का दर्जा दिया गया है।<ref>{{cite web |url=http://about.g2crowd.com/press-release/best-nosql-databases-fall-2015/ |title=Best NoSQL Databases: Fall 2015 Report from G2 Crowd |publisher=G2 Crowd |access-date=2015-08-25 |archive-date=2015-08-24 |archive-url=https://web.archive.org/web/20150824012237/http://about.g2crowd.com/press-release/best-nosql-databases-fall-2015/ |url-status=dead }}</ref> कंटेनरों में सबसे लोकप्रिय NoSQL डेटाबेस,<ref>{{cite web |url=https://www.datadoghq.com/docker-adoption/ |title=8 Surprising Facts about Real Docker Adoption |website=Datadog|date=13 June 2018 }}</ref> और वेबसाइट stackshare.io की रैंकिंग के अनुसार 2019 का #4 डेटा स्टोर।<ref>{{Cite web|title=🏆 The Top 50 Developer Tools of 2019|url=https://stackshare.io/posts/top-developer-tools-2019|access-date=2020-07-28|website=StackShare|language=en}}</ref> इसे 2017, 2018, 2019, 2020 और 2021 में [[स्टैक ओवरफ़्लो]] [https://insights.stackoverflow.com/survey/ डेवलपर सर्वेक्षण] में सबसे पसंदीदा डेटाबेस चुना गया था।<ref>{{cite web|url=https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-databases|title=Developer Survey Results 2021: Most Loved, Dreaded, and Wanted Databases|website=[[Stack Overflow]]|publisher=[[Stack Exchange]]|access-date=2021-08-23}}</ref>
मासिक [[डीबी-इंजन रैंकिंग]] के अनुसार, रेडिस अधिकांशतः सबसे लोकप्रिय मूल्य डेटाबेस होता है।<ref name=":0">{{cite web |url=http://db-engines.com/en/ranking/key-value+store |title=डीबी-इंजन रैंकिंग - की-वैल्यू स्टोर्स की लोकप्रियता रैंकिंग|website=DB-Engines}}</ref> रेडिस को उपयोगकर्ता समीक्षाओं के आधार पर उपयोगकर्ता संतुष्टि और बाज़ार में उपस्थिति के स्थिति में [[NoSQL]] डेटाबेस का पद दिया गया है।<ref>{{cite web |url=http://about.g2crowd.com/press-release/best-nosql-databases-fall-2015/ |title=Best NoSQL Databases: Fall 2015 Report from G2 Crowd |publisher=G2 Crowd |access-date=2015-08-25 |archive-date=2015-08-24 |archive-url=https://web.archive.org/web/20150824012237/http://about.g2crowd.com/press-release/best-nosql-databases-fall-2015/ |url-status=dead }}</ref> रैंकिंग 2019 के डेटा स्टोर के अनुसार कंटेनरों में सबसे लोकप्रिय NoSQL डेटाबेस,<ref>{{cite web |url=https://www.datadoghq.com/docker-adoption/ |title=8 Surprising Facts about Real Docker Adoption |website=Datadog|date=13 June 2018 }}</ref> और वेबसाइट stackshare.io है।<ref>{{Cite web|title=🏆 The Top 50 Developer Tools of 2019|url=https://stackshare.io/posts/top-developer-tools-2019|access-date=2020-07-28|website=StackShare|language=en}}</ref> इसे 2017, 2018, 2019, 2020 और 2021 में [[स्टैक ओवरफ़्लो]] [https://insights.stackoverflow.com/survey/ डेवलपर सर्वेक्षण] में सबसे उत्तम डेटाबेस माना गया था।<ref>{{cite web|url=https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-databases|title=Developer Survey Results 2021: Most Loved, Dreaded, and Wanted Databases|website=[[Stack Overflow]]|publisher=[[Stack Exchange]]|access-date=2021-08-23}}</ref>
==समर्थित भाषाएँ==
==समर्थित लैंग्वेजएँ==
संस्करण 2.6 के बाद से, रेडिस [[लुआ (प्रोग्रामिंग भाषा)]] भाषा में [[ सर्वर साइड |सर्वर साइड]] स्क्रिप्टिंग की सुविधा प्रदान करता है।<ref>{{cite web |url=https://redis.io/commands/eval |title=EVAL – Redis |website=redis.io}}</ref>
संस्करण 2.6 के बाद से, रेडिस [[लुआ (प्रोग्रामिंग भाषा)|लुआ (प्रोग्रामिंग लैंग्वेज)]] लैंग्वेज में [[ सर्वर साइड |सर्वर साइड]] स्क्रिप्टिंग की सुविधा प्रदान करता है।<ref>{{cite web |url=https://redis.io/commands/eval |title=EVAL – Redis |website=redis.io}}</ref>
कई [[प्रोग्रामिंग भाषा]]ओं में क्लाइंट साइड पर रेडिस भाषा बाइंडिंग होती है, जिनमें शामिल है:<ref name=redisclients>{{cite web |url=https://redis.io/clients |title=रेडिस|website=redis.io}}</ref> [[ ActionScript |ActionScript]] , [[सी (प्रोग्रामिंग भाषा)]], [[सी++]], सी शार्प (प्रोग्रामिंग भाषा)|सी#, [[चिकन (योजना कार्यान्वयन)]], [[क्लोजर]], [[ सामान्य लिस्प |सामान्य लिस्प]] , [[क्रिस्टल (प्रोग्रामिंग भाषा)]], [[डी (प्रोग्रामिंग भाषा)]], [[डार्ट (प्रोग्रामिंग भाषा)]], [[एम्बरकैडेरो डेल्फ़ी]] ,<ref>{{cite web | url=https://github.com/danieleteti/delphiredisclient | title=Danieleteti/Delphiredisclient | website=[[GitHub]] | date=17 September 2022 }}</ref> एलिक्सिर (प्रोग्रामिंग भाषा), [[एरलांग (प्रोग्रामिंग भाषा)]], गो (प्रोग्रामिंग भाषा), [[हास्केल (प्रोग्रामिंग भाषा)]], [[ मिला हुआ |मिला हुआ]] , आईओ (प्रोग्रामिंग भाषा), [[जावा (प्रोग्रामिंग भाषा)]], [[निम (प्रोग्रामिंग भाषा)]], [[सर्वर-साइड जावास्क्रिप्ट]] (नोड) .js), [[जूलिया (प्रोग्रामिंग भाषा)]], लुआ (प्रोग्रामिंग भाषा), [[ उद्देश्य सी |उद्देश्य सी]] , [[ओकैमल]], [[पर्ल]], [[पीएचपी]], प्योर डेटा, [[पायथन (प्रोग्रामिंग भाषा)]], [[आर (प्रोग्रामिंग भाषा)]],<ref>{{cite web |url=https://cran.r-project.org/web/packages/rredis/ |title=rredis: "Redis" Key/Value Database Client |last=Lewis |first=B. W. |date=5 July 2015 |website=The Comprehensive R Archive Network |access-date=2019-04-03}}</ref> [[रैकेट (प्रोग्रामिंग भाषा)]], [[रूबी (प्रोग्रामिंग भाषा)]], रस्ट (प्रोग्रामिंग भाषा), [[स्काला (प्रोग्रामिंग भाषा)]], स्मॉलटॉक, [[स्विफ्ट (प्रोग्रामिंग भाषा)]], और टीसीएल। इन भाषाओं में कई क्लाइंट सॉफ़्टवेयर प्रोग्राम मौजूद है।<ref name=redisclients />
कई [[प्रोग्रामिंग भाषा|प्रोग्रामिंग लैंग्वेज]]ओं में क्लाइंट साइड पर रेडिस लैंग्वेज बाइंडिंग होती है, जिनमें शामिल है:<ref name=redisclients>{{cite web |url=https://redis.io/clients |title=रेडिस|website=redis.io}}</ref> [[ ActionScript |एक्शन स्क्रिप्ट]], [[सी (प्रोग्रामिंग भाषा)|सी (प्रोग्रामिंग लैंग्वेज)]], [[सी++]], सी शार्प (प्रोग्रामिंग लैंग्वेज)|सी#, [[चिकन (योजना कार्यान्वयन)]], [[क्लोजर]], [[ सामान्य लिस्प |सामान्य लिस्प]] , [[क्रिस्टल (प्रोग्रामिंग भाषा)|क्रिस्टल (प्रोग्रामिंग लैंग्वेज)]], [[डी (प्रोग्रामिंग भाषा)|डी (प्रोग्रामिंग लैंग्वेज)]], [[डार्ट (प्रोग्रामिंग भाषा)|डार्ट (प्रोग्रामिंग लैंग्वेज)]], [[एम्बरकैडेरो डेल्फ़ी]] ,<ref>{{cite web | url=https://github.com/danieleteti/delphiredisclient | title=Danieleteti/Delphiredisclient | website=[[GitHub]] | date=17 September 2022 }}</ref> एलिक्सिर (प्रोग्रामिंग लैंग्वेज), [[एरलांग (प्रोग्रामिंग भाषा)|एरलांग (प्रोग्रामिंग लैंग्वेज)]], गो (प्रोग्रामिंग लैंग्वेज), [[हास्केल (प्रोग्रामिंग भाषा)|हास्केल (प्रोग्रामिंग लैंग्वेज)]], [[ मिला हुआ |मिला हुआ]] , आईओ (प्रोग्रामिंग लैंग्वेज), [[जावा (प्रोग्रामिंग भाषा)|जावा (प्रोग्रामिंग लैंग्वेज)]], [[निम (प्रोग्रामिंग भाषा)|निम (प्रोग्रामिंग लैंग्वेज)]], [[सर्वर-साइड जावास्क्रिप्ट]] (नोड) .js), [[जूलिया (प्रोग्रामिंग भाषा)|जूलिया (प्रोग्रामिंग लैंग्वेज)]], लुआ (प्रोग्रामिंग लैंग्वेज), [[ उद्देश्य सी |उद्देश्य सी]] , [[ओकैमल]], [[पर्ल]], [[पीएचपी]], प्योर डेटा, [[पायथन (प्रोग्रामिंग भाषा)|पायथन (प्रोग्रामिंग लैंग्वेज)]], [[आर (प्रोग्रामिंग भाषा)|आर (प्रोग्रामिंग लैंग्वेज)]],<ref>{{cite web |url=https://cran.r-project.org/web/packages/rredis/ |title=rredis: "Redis" Key/Value Database Client |last=Lewis |first=B. W. |date=5 July 2015 |website=The Comprehensive R Archive Network |access-date=2019-04-03}}</ref> [[रैकेट (प्रोग्रामिंग भाषा)|रैकेट (प्रोग्रामिंग लैंग्वेज)]], [[रूबी (प्रोग्रामिंग भाषा)|रूबी (प्रोग्रामिंग लैंग्वेज)]], रस्ट (प्रोग्रामिंग लैंग्वेज), [[स्काला (प्रोग्रामिंग भाषा)|स्काला (प्रोग्रामिंग लैंग्वेज)]], स्मॉलटॉक, [[स्विफ्ट (प्रोग्रामिंग भाषा)|स्विफ्ट (प्रोग्रामिंग लैंग्वेज)]], और टीसीएल। इन लैंग्वेजओं में कई क्लाइंट सॉफ़्टवेयर प्रोग्राम मौजूद है।<ref name=redisclients />
==डेटा प्रकार==
==डेटा प्रकार==
रेडिस मानों के प्रकारों के लिए कुंजियाँ मैप करता है। रेडिस और अन्य [[संरचित भंडारण]] प्रणालियों के बीच एक महत्वपूर्ण अंतर यह है कि रेडिस न केवल स्ट्रिंग (कंप्यूटर विज्ञान) का समर्थन करता है, बल्कि अमूर्त डेटा प्रकारों का भी समर्थन करता है:
रेडिस मानों के प्रकारों के लिए कुंजियाँ मैप करता है। रेडिस और अन्य [[संरचित भंडारण]] प्रणालियों के बीच एक महत्वपूर्ण अंतर यह है कि रेडिस न केवल स्ट्रिंग (कंप्यूटर विज्ञान) का समर्थन करता है, बल्कि अमूर्त डेटा प्रकारों का भी समर्थन करता है:
Line 75: Line 79:
रेडिस प्रतिकृति (कंप्यूटिंग)|मास्टर-प्रतिकृति प्रतिकृति का समर्थन करता है। किसी भी Redis सर्वर से डेटा को किसी भी संख्या में प्रतिकृतियों में दोहराया जा सकता है। एक प्रतिकृति दूसरी प्रतिकृति की मास्टर हो सकती है। यह रेडिस को एकल-रूटेड प्रतिकृति वृक्ष को लागू करने की अनुमति देता है। रेडिस प्रतिकृतियों को उदाहरणों के बीच जानबूझकर और अनजाने में असंगतता की अनुमति देते हुए, लिखने को स्वीकार करने के लिए कॉन्फ़िगर किया जा सकता है। पब्लिश-सब्सक्राइब पैटर्न | पब्लिश-सब्सक्राइब सुविधा पूरी तरह से कार्यान्वित है, इसलिए प्रतिकृति का ग्राहक एक चैनल की सदस्यता ले सकता है और प्रतिकृति ट्री के ऊपर कहीं भी मास्टर को प्रकाशित संदेशों की पूरी फ़ीड प्राप्त कर सकता है। प्रतिकृति पढ़ने (लेकिन लिखने के लिए नहीं) स्केलेबिलिटी या डेटा अतिरेक के लिए उपयोगी है।<ref>{{cite web |url=https://code.google.com/p/redis/wiki/ReplicationHowto |title=Google कोड संग्रह - Google कोड प्रोजेक्ट होस्टिंग के लिए दीर्घकालिक भंडारण।|website=code.google.com}}</ref>
रेडिस प्रतिकृति (कंप्यूटिंग)|मास्टर-प्रतिकृति प्रतिकृति का समर्थन करता है। किसी भी Redis सर्वर से डेटा को किसी भी संख्या में प्रतिकृतियों में दोहराया जा सकता है। एक प्रतिकृति दूसरी प्रतिकृति की मास्टर हो सकती है। यह रेडिस को एकल-रूटेड प्रतिकृति वृक्ष को लागू करने की अनुमति देता है। रेडिस प्रतिकृतियों को उदाहरणों के बीच जानबूझकर और अनजाने में असंगतता की अनुमति देते हुए, लिखने को स्वीकार करने के लिए कॉन्फ़िगर किया जा सकता है। पब्लिश-सब्सक्राइब पैटर्न | पब्लिश-सब्सक्राइब सुविधा पूरी तरह से कार्यान्वित है, इसलिए प्रतिकृति का ग्राहक एक चैनल की सदस्यता ले सकता है और प्रतिकृति ट्री के ऊपर कहीं भी मास्टर को प्रकाशित संदेशों की पूरी फ़ीड प्राप्त कर सकता है। प्रतिकृति पढ़ने (लेकिन लिखने के लिए नहीं) स्केलेबिलिटी या डेटा अतिरेक के लिए उपयोगी है।<ref>{{cite web |url=https://code.google.com/p/redis/wiki/ReplicationHowto |title=Google कोड संग्रह - Google कोड प्रोजेक्ट होस्टिंग के लिए दीर्घकालिक भंडारण।|website=code.google.com}}</ref>
==प्रदर्शन==
==प्रदर्शन==
जब डेटा की स्थायित्व (डेटाबेस सिस्टम) की आवश्यकता नहीं होती है, तो रेडिस की इन-मेमोरी प्रकृति इसे डेटाबेस सिस्टम की तुलना में अच्छा प्रदर्शन करने की अनुमति देती है जो प्रतिबद्ध लेनदेन पर विचार करने से पहले डिस्क में हर परिवर्तन लिखते है।<ref name="RedisFAQ" />रेडिस एक एकल प्रक्रिया के रूप में काम करता है और जब यह एओएफ (केवल-संलग्न फ़ाइल) को फिर से लिखता है तो यह सिंगल-थ्रेडेड या डबल-थ्रेडेड होता है।<ref>{{cite web |url=http://antirez.com/news/111 |title=Redis on the Raspberry Pi: adventures in unaligned lands - <antirez> |website=antirez.com}}</ref> इस प्रकार, एक एकल रेडिस उदाहरण [[संग्रहीत प्रक्रिया]]ओं जैसे कार्यों के समानांतर निष्पादन का उपयोग नहीं कर सकता है।
जब डेटा की स्थायित्व (डेटाबेस सिस्टम) की आवश्यकता नहीं होती है, तो रेडिस की इन-मेमोरी प्रकृति इसे डेटाबेस सिस्टम की तुलना में अच्छा प्रदर्शन करने की अनुमति देती है जो प्रतिबद्ध लेनदेन पर विचार करने से पहले डिस्क में परिवर्तन लिखता है।<ref name="RedisFAQ" /> रेडिस एक एकल प्रक्रिया के रूप में काम करता है और जब यह एओएफ (केवल-संलग्न फ़ाइल) को फिर से लिखता है तो यह सिंगल-थ्रेडेड या डबल-थ्रेडेड होता है।<ref>{{cite web |url=http://antirez.com/news/111 |title=Redis on the Raspberry Pi: adventures in unaligned lands - <antirez> |website=antirez.com}}</ref> इस प्रकार, एक एकल रेडिस उदाहरण [[संग्रहीत प्रक्रिया|संग्रहीत प्रक्रियाओं]] जैसे कार्यों के समानांतर निष्पादन का उपयोग नहीं कर सकता है।


==क्लस्टरिंग==
==क्लस्टरिंग==
रेडिस ने संस्करण 3.0 की रिलीज़ के साथ अप्रैल 2015 में क्लस्टरिंग की शुरुआत की।<ref name="cluster-release">{{cite web |url=https://github.com/antirez/redis/blob/3.0/00-RELEASENOTES |title=Redis 3.0 Release Notes |website=[[GitHub]] |access-date=2017-03-10}}</ref> [[कंप्यूटर क्लस्टर]] विनिर्देश रेडिस कमांड के एक सबसेट को लागू करता है: सभी एकल-कुंजी कमांड उपलब्ध है, मल्टी-कुंजी ऑपरेशन (यूनियन और इंटरसेक्शन से संबंधित कमांड) एक ही नोड से संबंधित कुंजी तक सीमित है, और डेटाबेस चयन संचालन से संबंधित कमांड अनुपलब्ध है।<ref name="clustercommands">{{cite web |url=https://redis.io/topics/cluster-spec#implemented-subset |title=क्लस्टर विशिष्टता|access-date=2017-03-10}}</ref> एक रेडिस क्लस्टर 1,000 नोड्स तक स्केल कर सकता है, स्वीकार्य लेखन सुरक्षा प्राप्त कर सकता है और कुछ नोड्स विफल होने पर संचालन जारी रख सकता है।<ref name="cluster-commands">{{cite web |url=https://redis.io/topics/cluster-spec |title=क्लस्टर विशिष्टता|access-date=2017-03-10}}</ref><ref name="cluster-partitions">{{cite web |url=https://redis.io/topics/cluster-tutorial |title=क्लस्टर ट्यूटोरियल|access-date=2017-03-10}}</ref>
रेडिस ने संस्करण 3.0 की रिलीज़ के साथ अप्रैल 2015 में क्लस्टरिंग को प्रारंभ किया था।<ref name="cluster-release">{{cite web |url=https://github.com/antirez/redis/blob/3.0/00-RELEASENOTES |title=Redis 3.0 Release Notes |website=[[GitHub]] |access-date=2017-03-10}}</ref> [[कंप्यूटर क्लस्टर]] विनिर्देश रेडिस कमांड के एक सबसेट को प्रस्तुत करता है जिसमे सभी एकल कमांड उपलब्ध होते है, मल्टी ऑपरेशन (यूनियन और इंटरसेक्शन से संबंधित कमांड) एक ही नोड तक सीमित होते है, और डेटाबेस चयन संचालन से संबंधित कमांड अनुपलब्ध होते है।<ref name="clustercommands">{{cite web |url=https://redis.io/topics/cluster-spec#implemented-subset |title=क्लस्टर विशिष्टता|access-date=2017-03-10}}</ref> एक रेडिस क्लस्टर 1,000 नोड्स तक स्केल कर सकता है, स्वीकार्य लेखन सुरक्षा प्राप्त कर सकता है और कुछ नोड्स विफल होने पर संचालन जारी रख सकता है।<ref name="cluster-commands">{{cite web |url=https://redis.io/topics/cluster-spec |title=क्लस्टर विशिष्टता|access-date=2017-03-10}}</ref><ref name="cluster-partitions">{{cite web |url=https://redis.io/topics/cluster-tutorial |title=क्लस्टर ट्यूटोरियल|access-date=2017-03-10}}</ref>
==स्थितियों का प्रयोग करें==
==स्थितियों का प्रयोग==
डेटाबेस डिज़ाइन की प्रकृति के कारण, विशिष्ट उपयोग के मामले सत्र कैशिंग, पूर्ण पृष्ठ कैश, संदेश कतार अनुप्रयोग, लीडरबोर्ड और दूसरों के बीच गिनती है।<ref name="objectrocket">{{cite web |url=http://objectrocket.com/blog/how-to/top-5-redis-use-cases |title=Top 5 Redis use cases - ObjectRocket |date=7 November 2017 |website=ObjectRocket |publisher=Rackspace}}</ref> पब्लिश-सब्सक्राइब मैसेजिंग प्रतिमान सर्वरों के बीच वास्तविक समय संचार की अनुमति देता है।
डेटाबेस डिज़ाइन की प्रकृति के कारण, विशिष्ट उपयोग के स्थिति सत्र कैशिंग, पूर्ण पृष्ठ कैश, संदेश अनुप्रयोग, लीडरबोर्ड और दूसरों के बीच गिनती होती है।<ref name="objectrocket">{{cite web |url=http://objectrocket.com/blog/how-to/top-5-redis-use-cases |title=Top 5 Redis use cases - ObjectRocket |date=7 November 2017 |website=ObjectRocket |publisher=Rackspace}}</ref> पब्लिश-सब्सक्राइब मैसेजिंग प्रतिमान सर्वरों के बीच वास्तविक समय संचार की अनुमति देता है।


[[अमेज़न वेब सेवाएँ]] रेडिस के लिए [[अमेज़ॅन इलास्टीकैश]] कैश नामक एक प्रबंधित रेडिस सेवा प्रदान करती है, [[गूगल क्लाउड प्लेटफार्म]] क्लाउड मेमोरीस्टोर नामक एक प्रबंधित रेडिस सेवा प्रदान करता है,<ref>{{Cite web |title=Memorystore: in-memory data store |url=https://cloud.google.com/memorystore |access-date=2023-02-03 |website=Google Cloud |language=en}}</ref> [[Microsoft]] [[Microsoft Azure]] में Redis के लिए Azure कैश ऑफ़र करता है,<ref name="Redis_Azure">{{cite web |url=https://azure.microsoft.com/en-us/services/cache/ |title=एज़्योर रेडिस कैश - रेडिस कैश क्लाउड सेवा - माइक्रोसॉफ्ट एज़्योर|website=azure.microsoft.com}}</ref> और [[अलीबाबा समूह]] [[अलीबाबा क्लाउड]] में रेडिस के लिए ApsaraDB की पेशकश करता है।<ref name="Redis_AlibabaCloud">{{cite web |url=https://www.alibabacloud.com/product/apsaradb-for-redis |title=रेडिस के लिए ApsaraDB: एक प्रमुख मूल्य डेटाबेस सेवा - अलीबाबा क्लाउड|website=www.alibabacloud.com}}</ref>
[[अमेज़न वेब सेवाएँ]] रेडिस के लिए [[अमेज़ॅन इलास्टीकैश]] नामक एक प्रबंधित रेडिस सेवा प्रदान करती है, [[गूगल क्लाउड प्लेटफार्म]] क्लाउड मेमोरीस्टोर नामक एक प्रबंधित रेडिस सेवा प्रदान करता है,<ref>{{Cite web |title=Memorystore: in-memory data store |url=https://cloud.google.com/memorystore |access-date=2023-02-03 |website=Google Cloud |language=en}}</ref> [[Microsoft Azure|माइक्रोसॉफ्ट एजूरे]] में रेडिस के लिए एजूरे कैश प्रस्तुत करता है,<ref name="Redis_Azure">{{cite web |url=https://azure.microsoft.com/en-us/services/cache/ |title=एज़्योर रेडिस कैश - रेडिस कैश क्लाउड सेवा - माइक्रोसॉफ्ट एज़्योर|website=azure.microsoft.com}}</ref> और [[अलीबाबा समूह]] [[अलीबाबा क्लाउड]] में रेडिस के लिए अप्सरा डीबी को प्रस्तुत करता है।<ref name="Redis_AlibabaCloud">{{cite web |url=https://www.alibabacloud.com/product/apsaradb-for-redis |title=रेडिस के लिए ApsaraDB: एक प्रमुख मूल्य डेटाबेस सेवा - अलीबाबा क्लाउड|website=www.alibabacloud.com}}</ref>


== उपयोगकर्ता ==
== उपयोगकर्ता ==
रेडिस का उपयोग ट्विटर जैसी कंपनियों में किया जा रहा है <ref name=":1" /><ref name=":2" /><ref name="redis_twitter">{{cite web |title=ट्विटर स्केल करने के लिए रेडिस का उपयोग कैसे करता है - 105टीबी रैम, 39एमएम क्यूपीएस, 10,000+ इंस्टेंसेस - उच्च स्केलेबिलिटी|url=http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-scale-105tb-ram-39mm-qps-10000-ins.html |website=Highscalability.com}}</ref>, AirBnB <ref name=":3" /> tinder <ref name=":4" /> याहू <ref name=":5" />एडोब <ref name=":6" /> Hulu <ref name=":7" /> और अमेज़न <ref name=":8" />
रेडिस का उपयोग कई कंपनियों में किया जा रहा है<ref name=":1" /><ref name="redis_twitter">{{cite web |title=ट्विटर स्केल करने के लिए रेडिस का उपयोग कैसे करता है - 105टीबी रैम, 39एमएम क्यूपीएस, 10,000+ इंस्टेंसेस - उच्च स्केलेबिलिटी|url=http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-scale-105tb-ram-39mm-qps-10000-ins.html |website=Highscalability.com}}</ref> जैसे ट्विटर<ref name=":2" />, एयर बीएनबी<ref name=":3" /> टिंडर<ref name=":4" /> याहू<ref name=":5" /> एडोब<ref name=":6" /> हुलु<ref name=":7" /> और अमेजान।<ref name=":8" />
==यह भी देखें{{Portal|Free and open-source software}}==
==यह भी देखें{{Portal|Free and open-source software}}==
*संघर्ष-मुक्त प्रतिकृति डेटा प्रकार
*संघर्ष-मुक्त प्रतिकृति डेटा प्रकार

Revision as of 21:26, 7 August 2023

Redis
Original author(s)Salvatore Sanfilippo[1][2]
Developer(s)Redis[1][2]
Initial releaseMay 10, 2009; 15 years ago (2009-05-10)
Stable release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.; Error: first parameter cannot be parsed as a date or time. (Script error: The module returned a nil value. It is supposed to return an export table.)
Written inC
Operating systemUnix-like[3]
Available inEnglish
TypeData structure store, key–value database
LicenseBSD 3-clause[4]

रेडिस (/ˈrɛdɪs/;[5][6] रिमोट डिक्शनरी सर्वर)[5] एक ओपन-सोर्स इन-मेमोरी स्टोरेज होता है, जिसका उपयोग वैकल्पिक स्थायित्व के साथ एक वितरित, इन-मेमोरी कुंजी-मूल्य डेटाबेस, कैश और संदेश ब्रोकर के रूप में किया जाता है।[7] यह सभी डेटा को मेमोरी में रखता है और इसके डिज़ाइन के कारण, रेडिस कम-विलंबता पढ़ने और लिखने की प्रस्तुतीकरण करता है, जो इसे उन उपयोगिक स्थितियों के लिए विशेष रूप से उपयुक्त बनाता है जिनके लिए कैश की आवश्यकता होती है। रेडिस सबसे लोकप्रिय NoSQL डेटाबेस होता है,[8][9][10] और कुल मिलाकर सबसे लोकप्रिय डेटाबेस में से एक होता है।[11] रेडिस का उपयोग ट्विटर,[12][13] एयरबीएनबी,[14] टिंडर,[15] याहू[16] एडोब,[17] हुलु,[18] और अमेज़ॅन जैसी कंपनियों में किया जाता है।[19]

रेडिस विभिन्न प्रकार की अमूर्त डेटा संरचनाओं का समर्थन करता है, जैसे स्ट्रिंग्स, सूचियाँ, मानचित्र, सेट, सॉर्ट किए गए सेट, हाइपरलॉग, बिटमैप्स, स्ट्रीम, और स्थानिक सूचकांक

इस प्रोजेक्ट का विकास और रखरखाव साल्वाटोर सैनफिलिपो द्वारा 2009 में प्रारंभ किया गया था।[20] 2015 से 2020 तक, उन्होंने रेडिस लैब्स द्वारा प्रायोजित एक प्रोजेक्ट कोर टीम का नेतृत्व किया था। साल्वाटोर सैनफिलिपो ने 2020 में रेडिस को अनुरक्षक के रूप में छोड़ दिया था।[21] 2021 में रेडिस लैब्स ने लैब्स को अपने नाम से हटा दिया और अब इसे केवल "रेडिस" के नाम से जाना जाता है।[22]

रेडिस को बीएसडी 3-क्लॉज लाइसेंस के अनुसार जारी किया गया है।[4]

इतिहास

रेडिस के मूल डेवलपर साल्वाटोर सैनफिलिपो (2015 में ली गई तस्वीर)

रेडिस नाम का अर्थ रिमोट डिक्शनरी सर्वर होता है।[5] रेडिस परियोजना तब प्रारंभ हुई जब रेडिस के मूल डेवलपर, सल्वाटोर सैनफिलिपो, उपनाम एंटीरेज़, एक रीयल-टाइम वेब लॉग विश्लेषक विकसित करके अपने स्टार्टअप की स्केलेबिलिटी में सुधार करने की कोशिश कर रहे थे। पारंपरिक डेटाबेस सिस्टम का उपयोग करके कुछ प्रकार के वर्कलोड को स्केल करने में महत्वपूर्ण समस्याओं का सामना करने के बाद, सैनफिलिपो ने 2009 में टी.सी.एल में रेडिस के अवधारणा संस्करण के पहले प्रमाण का प्रोटोटाइप बनाना प्रारंभ किया था।[23] बाद में सैनफिलिपो ने उस प्रोटोटाइप का सी लैंग्वेज में अनुवाद किया और पहला डेटा प्रकार, सूची प्रस्तुत किया। परियोजना को आंतरिक रूप से सफलता के साथ उपयोग करने के कुछ हफ्तों के बाद, सैनफिलिपो ने हैकर समाचार पर परियोजना की घोषणा करते हुए इसे प्रस्तुत करने का फैसला किया। इस परियोजना को विशेष रूप से रूबी समुदाय के बीच लोकप्रियता मिलनी प्रारंभ हुई थी, गिटहब और इंस्टाग्राम इसे अपनाने वाली पहली कंपनियों में से एक थे।[24][25]

मार्च, 2010 में VMware द्वारा सैनफिलिपो को काम पर रखा गया था।[26][27][28]

मई, 2013 में, रेडिस को निर्णायक सॉफ्टवेयर (एक वीएमवेयर स्पिन-ऑफ) द्वारा प्रायोजित किया गया था।[29]

जून 2015 में, विकास रेडिस लैब्स द्वारा प्रायोजित हो गया था।[30]

अक्टूबर 2018 में, रेडिस 5.0 जारी किया गया था, जिसमें रेडिस स्ट्रीम का प्रारंभ किया गया था - यह एक नई डेटा संरचना है जो एक ही कुंजी पर स्वचालित, समय-आधारित अनुक्रम के साथ कई स्ट्रिंग मानों को संग्रहीत करने की अनुमति देती है।[31]

जून 2020 में, साल्वाटोर सैनफिलिपो ने रेडिस अनुरक्षक के रूप में पद छोड़ दिया था।[32][33]

अन्य डेटाबेस प्रणालियों से अंतर

रेडिस ने एक ऐसे सिस्टम के विचार को लोकप्रिय बनाया जिसे एक ही समय में स्टोर और कैश (कंप्यूटिंग) करा जा सकता है। इसे इस तरह से डिज़ाइन किया गया था जो डेटा को हमेशा संशोधित करता है और मुख्य कंप्यूटर मेमोरी से पढ़ा जाता है, लेकिन डिस्क पर ऐसे प्रारूप में भी संग्रहीत किया जाता है जो यादृच्छिक डेटा एक्सेस के लिए अनुपयुक्त होते है। सिस्टम के पुनरारंभ होने के बाद ही स्वरूपित डेटा को मेमोरी में पुनर्निर्मित किया जाता है।

रेडिस एक डेटा मॉडल भी प्रदान करता है जो संबंधपरक डेटाबेस प्रबंधन प्रणाली (आरडीबीएमएस) की तुलना में बहुत असामान्य होता है। उपयोगकर्ता कमांड डेटाबेस इंजन द्वारा निष्पादित की जाने वाली क्वेरी का वर्णन नहीं करते है, जबकि विशिष्ट संचालन का वर्णन करते है जो दिए गए अमूर्त डेटा प्रकारों पर उपयोग किए जाते है। इसलिए डेटा को ऐसे विधि से संग्रहीत किया जाना चाहिए जो बाद में तेजी से पुनर्प्राप्ति के लिए उपयुक्त हो। द्वितीयक सूचकांक, एकत्रीकरण या पारंपरिक आरडीबीएमएस की अन्य सामान्य विशेषताओं के रूप में डेटाबेस सिस्टम की मदद के बिना पुनर्प्राप्ति की जाती है। रेडिस कार्यान्वयन डेटा रखने वाली प्रक्रिया को डुप्लिकेट करने के लिए सिस्टम कॉल का उपयोग करता है, जिससे कि मूल प्रक्रिया ग्राहकों को सेवा प्रदान करती रहती है जबकि चाइल्ड प्रक्रिया डिस्क पर डेटा की इन-मेमोरी कॉपी बनाती है।

लोकप्रियता

मासिक डीबी-इंजन रैंकिंग के अनुसार, रेडिस अधिकांशतः सबसे लोकप्रिय मूल्य डेटाबेस होता है।[8] रेडिस को उपयोगकर्ता समीक्षाओं के आधार पर उपयोगकर्ता संतुष्टि और बाज़ार में उपस्थिति के स्थिति में NoSQL डेटाबेस का पद दिया गया है।[34] रैंकिंग 2019 के डेटा स्टोर के अनुसार कंटेनरों में सबसे लोकप्रिय NoSQL डेटाबेस,[35] और वेबसाइट stackshare.io है।[36] इसे 2017, 2018, 2019, 2020 और 2021 में स्टैक ओवरफ़्लो डेवलपर सर्वेक्षण में सबसे उत्तम डेटाबेस माना गया था।[37]

समर्थित लैंग्वेजएँ

संस्करण 2.6 के बाद से, रेडिस लुआ (प्रोग्रामिंग लैंग्वेज) लैंग्वेज में सर्वर साइड स्क्रिप्टिंग की सुविधा प्रदान करता है।[38] कई प्रोग्रामिंग लैंग्वेजओं में क्लाइंट साइड पर रेडिस लैंग्वेज बाइंडिंग होती है, जिनमें शामिल है:[39] एक्शन स्क्रिप्ट, सी (प्रोग्रामिंग लैंग्वेज), सी++, सी शार्प (प्रोग्रामिंग लैंग्वेज)|सी#, चिकन (योजना कार्यान्वयन), क्लोजर, सामान्य लिस्प , क्रिस्टल (प्रोग्रामिंग लैंग्वेज), डी (प्रोग्रामिंग लैंग्वेज), डार्ट (प्रोग्रामिंग लैंग्वेज), एम्बरकैडेरो डेल्फ़ी ,[40] एलिक्सिर (प्रोग्रामिंग लैंग्वेज), एरलांग (प्रोग्रामिंग लैंग्वेज), गो (प्रोग्रामिंग लैंग्वेज), हास्केल (प्रोग्रामिंग लैंग्वेज), मिला हुआ , आईओ (प्रोग्रामिंग लैंग्वेज), जावा (प्रोग्रामिंग लैंग्वेज), निम (प्रोग्रामिंग लैंग्वेज), सर्वर-साइड जावास्क्रिप्ट (नोड) .js), जूलिया (प्रोग्रामिंग लैंग्वेज), लुआ (प्रोग्रामिंग लैंग्वेज), उद्देश्य सी , ओकैमल, पर्ल, पीएचपी, प्योर डेटा, पायथन (प्रोग्रामिंग लैंग्वेज), आर (प्रोग्रामिंग लैंग्वेज),[41] रैकेट (प्रोग्रामिंग लैंग्वेज), रूबी (प्रोग्रामिंग लैंग्वेज), रस्ट (प्रोग्रामिंग लैंग्वेज), स्काला (प्रोग्रामिंग लैंग्वेज), स्मॉलटॉक, स्विफ्ट (प्रोग्रामिंग लैंग्वेज), और टीसीएल। इन लैंग्वेजओं में कई क्लाइंट सॉफ़्टवेयर प्रोग्राम मौजूद है।[39]

डेटा प्रकार

रेडिस मानों के प्रकारों के लिए कुंजियाँ मैप करता है। रेडिस और अन्य संरचित भंडारण प्रणालियों के बीच एक महत्वपूर्ण अंतर यह है कि रेडिस न केवल स्ट्रिंग (कंप्यूटर विज्ञान) का समर्थन करता है, बल्कि अमूर्त डेटा प्रकारों का भी समर्थन करता है:

  • स्ट्रिंग्स की सूची (कंप्यूटिंग)
  • स्ट्रिंग्स का सेट (सार डेटा प्रकार) (गैर-दोहराए जाने वाले अवर्गीकृत तत्वों का संग्रह)
  • स्ट्रिंग्स के क्रमबद्ध सेट (चल बिन्दु संख्या द्वारा ऑर्डर किए गए गैर-दोहराए जाने वाले तत्वों का संग्रह जिसे स्कोर कहा जाता है)
  • हैश तालिकाएँ जहाँ कुंजियाँ और मान स्ट्रिंग है
  • अनुमानित सेट कार्डिनैलिटी आकार अनुमान के लिए हाइपरलॉगलॉग का उपयोग किया जाता है, जो अप्रैल 2014 में रेडिस 2.8.9 के बाद से उपलब्ध है।[31]* उपभोक्ता समूहों के साथ प्रविष्टियों की स्ट्रीम (कंप्यूटिंग), आपको एक ही कुंजी पर स्वचालित, समय-आधारित अनुक्रम के साथ कई फ़ील्ड और स्ट्रिंग मानों को संग्रहीत करने की अनुमति देती है, जो अक्टूबर 2018 में रेडिस 5.0 के बाद से उपलब्ध है।[31]
  • जियोहैश तकनीक के कार्यान्वयन के माध्यम से भू-स्थानिक डेटा, रेडिस 3.2 के बाद से उपलब्ध है।[42]

मान का प्रकार यह निर्धारित करता है कि मूल्य के लिए कौन से ऑपरेशन (जिन्हें कमांड कहा जाता है) उपलब्ध है। रेडिस उच्च-स्तरीय, परमाणु, सर्वर-साइड संचालन जैसे प्रतिच्छेदन, संघ और सूचियों, सेटों और क्रमबद्ध सेटों के सेट और सॉर्टिंग के बीच अंतर का समर्थन करता है।

रेडिस मॉड्यूल एपीआई के आधार पर अधिक डेटा प्रकार समर्थित है:[43]

  • JSON - RedisJSON[44] ECMA-404 (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन डेटा इंटरचेंज स्टैंडर्ड) को मूल डेटा प्रकार के रूप में लागू करता है।[45]
  • ग्राफ (असतत_गणित) - रेडिसग्राफ[46] एक क्वेरी योग्य संपत्ति ग्राफ लागू करता है
  • समय श्रृंखला - RedisTimeSeries[47] एक समय श्रृंखला डेटा संरचना लागू करता है
  • ब्लूम फिल्टर, कोयल फिल्टर, काउंट-मिन स्केच, और टॉप-के - रेडिसब्लूम[48] रेडिस के लिए संभाव्य डेटा संरचनाओं का एक सेट लागू करता है

दृढ़ता

रेडिस आमतौर पर संपूर्ण डेटासेट को मेमोरी में रखता है। 2.4 तक के संस्करणों को वर्चुअल मेमोरी के रूप में उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है[49] जिसमें कुछ डेटासेट डिस्क पर संग्रहीत है, लेकिन यह सुविधा अप्रचलित है। रेडिस में दृढ़ता (कंप्यूटर विज्ञान) दो अलग-अलग तरीकों से हासिल की जा सकती है। सबसे पहले स्नैपशॉटिंग द्वारा, जहां रेडिस आरडीबी डंप फ़ाइल प्रारूप का उपयोग करके डेटासेट को बाइनरी डंप के रूप में नियमित अंतराल पर मेमोरी से डिस्क में अतुल्यकालिक रूप से स्थानांतरित किया जाता है। वैकल्पिक रूप से हस्तांतरण लॉग द्वारा, जहां डेटासेट को संशोधित करने वाले प्रत्येक ऑपरेशन का रिकॉर्ड पृष्ठभूमि प्रक्रिया में केवल-परिशिष्ट फ़ाइल (एओएफ) में जोड़ा जाता है। जर्नल की अनिश्चित वृद्धि से बचने के लिए रेडिस पृष्ठभूमि में केवल-संलग्न फ़ाइल को फिर से लिख सकता है। जर्नलिंग को संस्करण 1.1 में पेश किया गया था और इसे आम तौर पर सुरक्षित दृष्टिकोण माना जाता है।

डिफ़ॉल्ट रूप से, Redis कम से कम हर 2 सेकंड में फ़ाइल सिस्टम पर डेटा लिखता है, यदि आवश्यक हो तो अधिक या कम मजबूत विकल्प उपलब्ध होते है। डिफ़ॉल्ट सेटिंग्स पर पूर्ण सिस्टम विफलता की स्थिति में, केवल कुछ सेकंड का डेटा खो जाएगा।

प्रतिकृति

रेडिस प्रतिकृति (कंप्यूटिंग)|मास्टर-प्रतिकृति प्रतिकृति का समर्थन करता है। किसी भी Redis सर्वर से डेटा को किसी भी संख्या में प्रतिकृतियों में दोहराया जा सकता है। एक प्रतिकृति दूसरी प्रतिकृति की मास्टर हो सकती है। यह रेडिस को एकल-रूटेड प्रतिकृति वृक्ष को लागू करने की अनुमति देता है। रेडिस प्रतिकृतियों को उदाहरणों के बीच जानबूझकर और अनजाने में असंगतता की अनुमति देते हुए, लिखने को स्वीकार करने के लिए कॉन्फ़िगर किया जा सकता है। पब्लिश-सब्सक्राइब पैटर्न | पब्लिश-सब्सक्राइब सुविधा पूरी तरह से कार्यान्वित है, इसलिए प्रतिकृति का ग्राहक एक चैनल की सदस्यता ले सकता है और प्रतिकृति ट्री के ऊपर कहीं भी मास्टर को प्रकाशित संदेशों की पूरी फ़ीड प्राप्त कर सकता है। प्रतिकृति पढ़ने (लेकिन लिखने के लिए नहीं) स्केलेबिलिटी या डेटा अतिरेक के लिए उपयोगी है।[50]

प्रदर्शन

जब डेटा की स्थायित्व (डेटाबेस सिस्टम) की आवश्यकता नहीं होती है, तो रेडिस की इन-मेमोरी प्रकृति इसे डेटाबेस सिस्टम की तुलना में अच्छा प्रदर्शन करने की अनुमति देती है जो प्रतिबद्ध लेनदेन पर विचार करने से पहले डिस्क में परिवर्तन लिखता है।[5] रेडिस एक एकल प्रक्रिया के रूप में काम करता है और जब यह एओएफ (केवल-संलग्न फ़ाइल) को फिर से लिखता है तो यह सिंगल-थ्रेडेड या डबल-थ्रेडेड होता है।[51] इस प्रकार, एक एकल रेडिस उदाहरण संग्रहीत प्रक्रियाओं जैसे कार्यों के समानांतर निष्पादन का उपयोग नहीं कर सकता है।

क्लस्टरिंग

रेडिस ने संस्करण 3.0 की रिलीज़ के साथ अप्रैल 2015 में क्लस्टरिंग को प्रारंभ किया था।[52] कंप्यूटर क्लस्टर विनिर्देश रेडिस कमांड के एक सबसेट को प्रस्तुत करता है जिसमे सभी एकल कमांड उपलब्ध होते है, मल्टी ऑपरेशन (यूनियन और इंटरसेक्शन से संबंधित कमांड) एक ही नोड तक सीमित होते है, और डेटाबेस चयन संचालन से संबंधित कमांड अनुपलब्ध होते है।[53] एक रेडिस क्लस्टर 1,000 नोड्स तक स्केल कर सकता है, स्वीकार्य लेखन सुरक्षा प्राप्त कर सकता है और कुछ नोड्स विफल होने पर संचालन जारी रख सकता है।[54][55]

स्थितियों का प्रयोग

डेटाबेस डिज़ाइन की प्रकृति के कारण, विशिष्ट उपयोग के स्थिति सत्र कैशिंग, पूर्ण पृष्ठ कैश, संदेश अनुप्रयोग, लीडरबोर्ड और दूसरों के बीच गिनती होती है।[56] पब्लिश-सब्सक्राइब मैसेजिंग प्रतिमान सर्वरों के बीच वास्तविक समय संचार की अनुमति देता है।

अमेज़न वेब सेवाएँ रेडिस के लिए अमेज़ॅन इलास्टीकैश नामक एक प्रबंधित रेडिस सेवा प्रदान करती है, गूगल क्लाउड प्लेटफार्म क्लाउड मेमोरीस्टोर नामक एक प्रबंधित रेडिस सेवा प्रदान करता है,[57] माइक्रोसॉफ्ट एजूरे में रेडिस के लिए एजूरे कैश प्रस्तुत करता है,[58] और अलीबाबा समूह अलीबाबा क्लाउड में रेडिस के लिए अप्सरा डीबी को प्रस्तुत करता है।[59]

उपयोगकर्ता

रेडिस का उपयोग कई कंपनियों में किया जा रहा है[12][60] जैसे ट्विटर[13], एयर बीएनबी[14] टिंडर[15] याहू[16] एडोब[17] हुलु[18] और अमेजान।[19]

यह भी देखें

संदर्भ

  1. 1.0 1.1 Bernardi, Stefano (January 4, 2011). "An interview with Salvatore Sanfilippo, creator of Redis, working out of Sicily". EU-Startups. Menlo Media.
  2. 2.0 2.1 Haber, Itamar (July 15, 2015). "Salvatore Sanfilippo: Welcome to Redis Labs". Redis Labs.
  3. "Introduction to Redis". Redis is written in ANSI C and works in most POSIX systems like Linux, *BSD, OS X without external dependencies.
  4. 4.0 4.1 "Copying". GitHub. 4 March 2022.
  5. 5.0 5.1 5.2 5.3 "FAQ: Redis". Redis.io (in English). Retrieved 12 February 2022.{{cite web}}: CS1 maint: url-status (link)
  6. "गूगल समूह". groups.google.com. Retrieved 25 February 2022.{{cite web}}: CS1 maint: url-status (link)
  7. "रेडिस". रेडिस (in English). Retrieved 2023-07-22.
  8. 8.0 8.1 "डीबी-इंजन रैंकिंग - की-वैल्यू स्टोर्स की लोकप्रियता रैंकिंग". DB-Engines.
  9. Clark, Lindsay. "जटिल क्लाउड एप्लिकेशन परिनियोजन में वृद्धि के कारण रेडिस AWS पर सबसे लोकप्रिय डेटाबेस बन गया है". www.theregister.com (in English). Retrieved 2023-07-22.
  10. "Instablinks EP 07: Redis™—The Most Popular In-Memory Database Technology". Instaclustr (in English). Retrieved 2023-07-22.
  11. "डीबी-इंजन रैंकिंग". DB-Engines (in English). Retrieved 2023-07-22.
  12. 12.0 12.1 Scaling Redis at Twitter (in English), retrieved 2023-07-22
  13. 13.0 13.1 Using Redis at Scale at Twitter - by Rashmi Ramesh of Twitter - RedisConf17 - (in English), retrieved 2023-07-22
  14. 14.0 14.1 AWS re:Invent 2018: Airbnb's Journey from Self-Managed Redis to ElastiCache for Redis (DAT319) (in English), retrieved 2023-07-22
  15. 15.0 15.1 "Building resiliency at scale at Tinder with Amazon ElastiCache | AWS Database Blog". aws.amazon.com (in English). 2020-01-30. Retrieved 2023-07-22.
  16. 16.0 16.1 AWS re:Invent 2022 - How Yahoo cost optimizes their in-memory workloads with AWS (DAT321) (in English), retrieved 2023-07-22
  17. 17.0 17.1 AWS re:Invent 2014 | (SDD402) Amazon ElastiCache Deep Dive (in English), retrieved 2023-07-22
  18. 18.0 18.1 "हुलु केस स्टडी". Amazon Web Services, Inc. (in English). Retrieved 2023-07-22.
  19. 19.0 19.1 "Amazon GameOn Database Migration Case Study – Amazon Web Services (AWS)". Amazon Web Services, Inc. (in English). Retrieved 2023-07-22.
  20. "ओपन-सोर्स डेटाबेस रेडिस के निर्माता, साल्वाटोर सैनफिलिपो के साथ एक बातचीत". VentureBeat (in English). 2016-06-20. Retrieved 2021-06-29.
  21. Francisco, Thomas Claburn in San. "Database maestro Antirez says arrivederci to Redis: Seems he wants an unstructured life writing code, not a structured one managing software". www.theregister.com (in English). Retrieved 2021-06-29.
  22. "डेटाबेस स्टार्टअप रेडिस लैब्स ने ...सिर्फ रेडिस के रूप में रीब्रांड किया". SiliconANGLE (in English). 2021-08-11. Retrieved 2021-08-11.
  23. Sanfilippo, Salvatore (April 28, 2017). "रेडिस का टीसीएल प्रोटोटाइप". GitHub Gist. Retrieved October 8, 2018.
  24. Wanstrath, Chris (November 3, 2009). "रेसक्यू का परिचय". Blog. Retrieved October 8, 2018.
  25. Krieger, Mike (October 31, 2011). "रेडिस में करोड़ों सरल कुंजी-मूल्य जोड़े संग्रहीत करना". Instagram Engineering Blog. Retrieved October 8, 2018.
  26. Shapira, Gwen (March 17, 2010). "VMware Hires Redis Key Developer – But Why?". Blog. Retrieved September 25, 2016.
  27. Sanfilippo, Salvatore (March 15, 2010). "VMware: the new Redis home". Blog. Retrieved September 25, 2016.
  28. Collison, Derek (March 15, 2010). "VMware: The Console: VMware hires key developer for Redis". VMware Blog. Archived from the original on March 22, 2010. Retrieved September 25, 2016.
  29. Sanfilippo, Salvatore. "रेडिस प्रायोजक". Redis.io. Redis Labs. Retrieved April 11, 2019.
  30. Sanfilippo, Salvatore (July 15, 2015). "धन्यवाद पिवोटल, हेलो रेडिस लैब्स". <antirez>. Retrieved 2019-04-03.
  31. 31.0 31.1 31.2 "Redis 5.0 is here!". 22 October 2018.
  32. https://www.theregister.com/2020/06/30/redis_creator_antirez_quits/ source
  33. "रेडिस साहसिक कार्य का अंत -". antirez.com. Retrieved 2020-11-10.
  34. "Best NoSQL Databases: Fall 2015 Report from G2 Crowd". G2 Crowd. Archived from the original on 2015-08-24. Retrieved 2015-08-25.
  35. "8 Surprising Facts about Real Docker Adoption". Datadog. 13 June 2018.
  36. "🏆 The Top 50 Developer Tools of 2019". StackShare (in English). Retrieved 2020-07-28.
  37. "Developer Survey Results 2021: Most Loved, Dreaded, and Wanted Databases". Stack Overflow. Stack Exchange. Retrieved 2021-08-23.
  38. "EVAL – Redis". redis.io.
  39. 39.0 39.1 "रेडिस". redis.io.
  40. "Danieleteti/Delphiredisclient". GitHub. 17 September 2022.
  41. Lewis, B. W. (5 July 2015). "rredis: "Redis" Key/Value Database Client". The Comprehensive R Archive Network. Retrieved 2019-04-03.
  42. "Redis 3.2 Release Notes". GitHub. Retrieved 2017-03-10.
  43. "Redis Modules: an introduction to the API". redis.io. Retrieved 2019-07-10.
  44. "RedisJSON - a JSON data type for Redis".
  45. "RedisJSON - Redis के लिए एक JSON डेटा प्रकार". redisjson.io.
  46. "RedisGraph - a graph database module for Redis".
  47. "RedisTimeSeries - Time-Series data structure for Redis".
  48. "RedisBloom - Probabilistic Datatypes Module for Redis".
  49. "आभासी मेमोरी". Redis.io. Retrieved April 11, 2019.
  50. "Google कोड संग्रह - Google कोड प्रोजेक्ट होस्टिंग के लिए दीर्घकालिक भंडारण।". code.google.com.
  51. "Redis on the Raspberry Pi: adventures in unaligned lands - <antirez>". antirez.com.
  52. "Redis 3.0 Release Notes". GitHub. Retrieved 2017-03-10.
  53. "क्लस्टर विशिष्टता". Retrieved 2017-03-10.
  54. "क्लस्टर विशिष्टता". Retrieved 2017-03-10.
  55. "क्लस्टर ट्यूटोरियल". Retrieved 2017-03-10.
  56. "Top 5 Redis use cases - ObjectRocket". ObjectRocket. Rackspace. 7 November 2017.
  57. "Memorystore: in-memory data store". Google Cloud (in English). Retrieved 2023-02-03.
  58. "एज़्योर रेडिस कैश - रेडिस कैश क्लाउड सेवा - माइक्रोसॉफ्ट एज़्योर". azure.microsoft.com.
  59. "रेडिस के लिए ApsaraDB: एक प्रमुख मूल्य डेटाबेस सेवा - अलीबाबा क्लाउड". www.alibabacloud.com.
  60. "ट्विटर स्केल करने के लिए रेडिस का उपयोग कैसे करता है - 105टीबी रैम, 39एमएम क्यूपीएस, 10,000+ इंस्टेंसेस - उच्च स्केलेबिलिटी". Highscalability.com.


अग्रिम पठन


बाहरी संबंध