توسعهدهنده(ها) | سالوادوره سانفیلیپو |
---|---|
انتشار اولیه | ۱۰ آوریل ۲۰۰۹ |
انتشار پایدار | 7.2.4
/ ۹ ژانویه ۲۰۲۴ |
مخزن | |
نوشتهشده با | سی |
سیستمعامل | چندسکویی |
نوع | پایگاه داده سند-گرا |
مجوز | پروانه بیاسدی |
وبگاه |
رِدیس (به انگلیسی: Redis) ذخیرهگاه کلید-مقدار داخل حافظه (به انگلیسی: in-memory) متنباز با مانایی انتخابی است.[۱] این نرمافزار با انسی سی (به انگلیسی: ANSI C) نوشته شدهاست. بانی گسترش ردیس ویامویر است.[۲][۳]
زبانهایی که برای آنها کتابخانه کلاینت ردیس وجود دارد، شامل موارد ذیل است:[۴] اکشناسکریپت، سی، سی++، سی شارپ، کلوژر، لیسپ معمولی، دارت، ارلنگ، گو، هسکل، هکس، آیاو، جاوا، جاوااسکریپت، لوا، آبجکتیو-سی، پرل، پیاچپی، پیور داتا، پایتون، آر، روبی، اسکالا، اسمالتاک، تیسیال.
از دید بیرون، ردیس نگاشتی از کلیدها به مقدارها است. برای نمونه فرمان زیر یک مقدار رشتهای به یک کلید تخصیص میدهد:[۵]
SET mykey "Hello"
یا فرمانهای زیر یک لیست نو ایجاد میکند که دو عضو دارد:[۶]
LPUSH mylist "world"
LPUSH mylist "hello"
نوع داده مقدار عملیات ممکن بر روی هر کلید را مشخص میکند. ردیس از انواع داده زیر پشتیبانی میکند:[۷]
ردیس چندین گزینه برای ماندگاری ارائه میدهد:[۸]
در حالت اول، کاربر میتواند قواعدی مانند قاعده زیر تعریف کند:
save 60 1000
که به این معنا است که در بازههای ۶۰ ثانیهای حالت سیستم بررسی میشود، و اگر حداقل ۱۰۰۰ عمل نوشتن انجام شده باشد، یک نسخه از داده بر روی دیسک ذخیره میشود. کاربر میتواند چندین قاعده این چنین تعریف کند. مثلاً قاعدهٔ دیگری که اگر پس از ۱۰ ثانیه میزان تغییرات بیش از ۲۰۰۰ بود یک نسخه بر روی دیسک ذخیره شود.
در حالت دوم، یعنی ثبت رخدادها در شرح وقایع (log)، چندین گزینه وجود دارد:
ردیس از نسخه ۲٫۶ از اسکریپنویسی به زبان لوا پشتیبانی میکند.[۹] این ویژگی به کاربر این امکان را میدهد که دنبالهای از عملیات را در سمت سرور به صورت تجزیهناپذیر اجرا کند. به همین دلیل، کاربر میتواند با استفاده از ویژگی ساختارهای داده پیچیدهتری را در سرور ردیس پیادهسازی کند. به عنوان مثال میتوان به موارد زیر اشاره کرد:
اینستال ردیس بر روی لینوکس دبیان:
apt-get install redis-server
کامپایل ردیس بر روی لینوکس:
wget https://web.archive.org/web/20131208124550/http://redis.googlecode.com/files/redis-2.6.10.tar.gz
tar xzf redis-2.6.10.tar.gz
cd redis-2.6.10
make
sudo make install
ردیس از انعکاس راهبر-پیرو (به انگلیسی: master-slave replication) پشتیبانی میکند.[۱۲] میتوان یک پیرو را طوری تنظیم کرد که تنها خواندنی باشد. هر پیروی میتواند راهبر چندین پیرو دیگر باشد، بنابراین ساختار انعکاس ردیس ساختاری درختی دارد.
هر پیرو میتواند رونوشت دقیق سرورهای راهبر باشد،[۱۲] یا اینکه طوری تنظیم کرد که تنها تغییرات خاصی از راهبر را دریافت کند. به این صورت که پیرو به کانالهای خاصی ثبتاشتراک کند (با استفاده از فرمان SUBSCRIBE)، و تغییراتی که سرور در این کانال با استفاده از دستور PUBLISH گزارش میکند را دریافت کند.[۱۳]
از کاربران سرشناس ردیس میتوان به موارد زیر اشاره کرد:
|بازبینی=
را بررسی کنید (کمک)