Sokan Academy

Redis Stack چیست؟ چطوری نصب و ازش استفاده کنیم؟

Redis Stack چیست؟ چطوری نصب و ازش استفاده کنیم؟

Redis Stack بهترین نقطه شروع برای کار با Redis است. به طور خلاصه Redis Stack یک افزونه برای ردیس است که با اضافه کردن  مدلهای داده ای و ابزارهای پردازش داده های مدرن به Redis OSS تلاش کرده است تجربه کامل تری را برای توسعه دهنده ها ایجاد کند. بیشتر امکاناتی هم که اضافه کردن است در حوزه ی استفاده از JSON هاست.

اگر هنوز با ردیس آشنا نیستید می تونید دوره ی رایگان آموزش ردیس سایت سکان آکادمی رو مطالعه کنید.

Redis

چرا Redis Stack؟

Redis Stack ایجاد شد  تا به توسعه دهنده ها یک تجربه راحتی برای استفاده از Redis OSS را بدهد تا بتوانند برنامه هایی بنویسند که با ساختارهای داده ای مدرن هم به راحتی کار کنند. خوب هسته ی اصلی Redis Stack که همان Redis OSS است و در Redis Stack هم سعی شده است به همان فلسفه ی سه کلمه ای پشت Redis وفادار باشد که عبارتند از سادگی، عملکرد بهینه و قابل اطمینان بودن.

مهمترین و جذاب ترین قابلیت هایی که اضافه شده اند کار با JSON و Time Series Data (داده های سری زمانی) هستند.

تفاوت بسته های Redis Stack 

دو بسته Redis Stack مجزا برای انتخاب وجود دارد:

Redis Stack Server: این بسته فقط شامل Redis OSS و ماژول هاست در این بسته RedisInsight وجود ندارد  و پیشنهاد میکنم فقط زمانی که روی Production (به طور معمول سه محیط Development، محیط Staging و محیط Production سه محل تفکیک شده برای اسقرار برنامه مون هستند. این سه محیط ایزوله از هم به ترتیب تحت کنترل برنامه نویس ها برای توسعه محصول، زیر نظر مدیر تیم و اعضای QA برای تست ها و دیباگ های نهایی و سرورنهایی که قابلیت های تست شده و سالم نهایی روی آن قرار میگیرد تا کاربر نهایی از آن بهره ببرد.) قصد داشتید Redis Stack را نصب کنید از این بسته استفاده کنید. البته نا گفته نماند که به صورت جداگانه می توانید RedisInsight را هم نصب کنید..

Redis Stack: این بسته شامل هر آنچه که یک توسعه دهنده به آن نیاز دارد هست. که  شامل Redis Stack Server (Redis OSS و  ماژول ها) به همراه برنامه RedisInsight می شود. در محیط Development، حتما این بسته بسیار کاربردی و خوب است.

نحوه نصب Redis Stack با استفاده از Docker 

برای شروع کار با Redis Stack با استفاده از Docker، ابتدا باید یک  Docker Image را انتخاب کنید که Image های دو بسته ی بالا را می توانید در ادامه ببیند.

redis/redis-stack شامل سرور Redis Stack و RedisInsight است. این کانتیتر برای اینکه یک برنامه نویس در محیط Development آن را راه اندازی کند بهترین است زیرا می تواند از RedisInsight تعبیه شده برای Visualization (تصویر سازی) داده های خود استفاده کنید.

redis/redis-stack-server فقط سرور Redis Stack را دارد. این کانتینر برای Production  بهترین است.

 در ادامه این پلاس فقط redis-stack را با داکر راه اندازی و پیکر بندی میکنم. اگر با داکر آشنا نیستید یا دوست دارید به طور کامل با آن آشنا شوید می توانید دوره ی آموزش کاربردی داکر را که من نوشته ام را به صورت رایگان بخوانید.

برای راه اندازی یک کانتینر Redis Stack با استفاده از Docker Image ارائه شده با نام redis-stack، دستور زیر را در ترمینال خود اجرا کنید:

docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest

دستور Docker Run در بالا همچنین RedisInsight را روی پورت 8001 در معرض نمایش قرار می دهد.  حالا توی مروگرتان  کافی است http://localhost:8001 را بزنید تا پنل RedisInsight که یک GUI بسیار کاربردی و باحال است را ببیند.

RedisInsight screenshot

همانطور که میدانیم ما به redis-cli هم نیاز داریم که می توانید با دستور زیر به کانتینر redis-stack وصل شده و سپس دستور redis-cli را بزنید تا وارد cli مدیریت ردیس مان بشویم.

$ docker exec -it redis-stack redis-cli

یا اینکه ابتدا به کانتینر redis-stack متصل شوید و بعد وارد redis-cli شوید.

$ docker exec -it redis-stack bash
redis-cli

Configuration

اول از همه لازم است خیالمان راحت شود که داده هایمان در ردیسی که با داکر بالا آورده ایم ماندگار است. برای نصب دایرکتوری ها یا فایل ها در کانتینر Docker خود، -v را برای پیکربندی یک Local Storage تعیین کنید. این دستور همان اختصاص Volume به کانتینر داکر است:

$ docker run -v /local-data/:/data redis/redis-stack:latest

اگر می خواهید سرور Redis Stack یا RedisInsight را در پورت دیگری در معرض نمایش قرار دهید، سمت چپ بخش آرگومان -p را به پورتی که می خواهید تغییر دهید:

$ docker run -p 10001:6379 -p 13333:8001 redis/redis-stack:latest

این دستور سرور Redis Stack را در پورت 10001 و RedisInsight را در پورت 13333 نشان می دهد.

 

امیدوارم این پلاس براتون مفید بوده باشه و بتونید به راحتی از قابلیت های Redis Stack بهره ببرید. منبع این پلاس من هم سایت رسمی به آدرس Redis.io هست. که مثل همیشه پیشنهاد میکنم برای یادگیری مطالب بیشتر مستندات رسمی رو مطالعه کنید.

این محتوا آموزنده بود؟
rediscacheدیتابیس ردیسردیسبرنامه‌ نویسی

sokan-academy-footer-logo
کلیه حقوق مادی و معنوی این وب‌سایت متعلق به سکان آکادمی می باشد.