Redis به لطف سهولت استفاده و سرعت دسترسی برنامهها به دادهها در سناریوهای بلادرنگ مانند تجزیه و تحلیل، ذخیرهسازی و پیامرسانی، به یک راهکار محبوب برای توسعهدهندگان و سازمانها تبدیل شده است. این آموزش گام به گام نحوه نصب Redis در اوبونتو ۲۲.۰۴، از جمله پیکربندی را به شما آموزش میدهد.
ردیس چیست؟ #
Redis ، که مخفف REmote DIctionary Server است، یک پایگاه داده متنباز NoSQL و درون حافظهای است که عمدتاً به عنوان یک پایگاه داده کلید-مقدار، واسطه پیام و راهکار ذخیرهسازی استفاده میشود. به عنوان یک پایگاه داده درون حافظهای، دادهها را به جای HDD (هارد دیسک) یا درایو حالت جامد SSD که دادهها را روی دیسک ذخیره میکنند، در RAM یا حافظه ذخیره میکند.
نحوه نصب Redis در اوبونتو ۲۲.۰۴ در ۵ مرحله [به همراه مثال]
ردیس چگونه کار میکند؟ #
Redis به لطف طراحی منحصر به فرد خود، که در آن دادههای پردازش شده در حافظه قرار میگیرند، عملکرد، قابلیت اطمینان و سرعت چشمگیری را ارائه میدهد. Redis از طیف گستردهای از انواع دادههای بومی، از جمله رشتهها، نقشهها، هشها، مجموعهها، بیتمپها، HyperLogLogs، شاخصهای جغرافیایی و جریانها پشتیبانی میکند.
ردیس برای چه مواردی استفاده میشود؟ #
Redis به عنوان یک راهکار ذخیرهسازی محبوب، در برنامههایی استفاده میشود که میلیونها داده را از منابع خارجی دریافت میکنند که تأخیر و توان عملیاتی آنها میتواند باعث تخریب عملکرد، بهویژه به دلیل افزایش ناگهانی ترافیک، شود.
بیایید به طور خلاصه مروری بر کاربردهای Redis و برخی از موارد استفاده رایج آن داشته باشیم:
- برنامههای رسانههای اجتماعی : از Redis برای ذخیره و مدیریت جریان دادهها از برنامههای رسانههای اجتماعی، مانند فیدهای خبری، پروفایلهای کاربر و غیره استفاده میشود.
- بازیهای آنلاین : برنامههای بازی از Redis برای ذخیره معیارهای بازی مانند امتیازات بازی، پروفایل بازیکنان و جدول امتیازات و مدیریت وضعیت بازی استفاده میکنند. علاوه بر این، این امکان را برای یک تجربه کاربری سریع و روان فراهم میکند.
- تجزیه و تحلیل بلادرنگ : Redis حجم عظیمی از دادههای بلادرنگ را ذخیره و پردازش میکند و به توسعهدهندگان امکان میدهد دادهها را به راحتی تجزیه و تحلیل و تجسم کنند. این به نوبه خود به تصمیمگیریهای تجاری آگاهانه کمک میکند.
- تجارت الکترونیک : Redis پردازش و ذخیرهسازی آسان حجم عظیمی از دادههای مربوط به برنامههای تجارت الکترونیک، مانند محتوای سبد خرید، کاتالوگ محصولات، لیست علاقهمندیها و غیره را افزایش میدهد.
شرکتهای معتبری که از Redis در مجموعه فناوری خود استفاده میکنند شامل توییتر، اوبر، ایربیانبی، آمازون، استکاورفلو و اسنپچت و بسیاری دیگر هستند.
پیش نیازها #
برای دنبال کردن و یادگیری نحوه نصب Redis در اوبونتو ۲۲.۰۴، مطمئن شوید که پیشنیازهای زیر را دارید:
- یک سرور با سیستم عامل Ubuntu با دسترسی SSH ؛
- یک کاربر sudo که روی سرور پیکربندی شده است.
حالا بیایید وارد جزئیات شویم و دستورالعملهای نصب Redis را ادامه دهیم.
نصب Redis در اوبونتو : فرآیند گام به گام #
دو مرحله اول نحوه نصب Redis در اوبونتو ۲۲.۰۴ را به شما نشان میدهد؛ مراحل ۳ و ۴ شما را در دسترسی به Redis CLI (رابط خط فرمان) و پیکربندی احراز هویت راهنمایی میکند؛ و مرحله پنجم برای پیکربندی Redis برای اتصالات از راه دور اختیاری است.
مرحله ۱: بهروزرسانی فهرست بسته محلی #
اگر با یک نمونه سرور تازه مستقر شده از اوبونتو ۲۲.۰۴ شروع میکنید، توصیه میکنم حافظه پنهان محلی APT را بهروزرسانی کنید .
برای انجام این کار، دستور زیر را اجرا کنید:
sudo apt update
اکنون میتوانید سرور Redis را پس از بهروزرسانی فهرست بسته محلی نصب کنید.
مرحله ۲: نصب Redis در اوبونتو ۲۲.۰۴ #
بسته سرور Redis از مخازن رسمی اوبونتو در دسترس است. بنابراین، ما آن را با استفاده از مدیر بسته APT نصب خواهیم کرد. در زمان نوشتن این راهنما، آخرین نسخه موجود در مخزن ۶.۰.۱۶ است.
برای نصب Redis، دستور زیر را اجرا کنید:
sudo apt install redis-server -y
این دستور، پایگاه داده سرور Redis را در کنار سایر بستهها و وابستگیها نصب میکند.

قبل از استفاده از Redis، باید یک تغییر پیکربندی اساسی در فایل پیکربندی پیشفرض ایجاد کنید. بنابراین، redis.confبا ویرایشگر متن دلخواه خود به فایل پیکربندی دسترسی پیدا کنید.
sudo nano /etc/redis/redis.conf
به پایین اسکرول کنید و supervisedدستورالعمل را پیدا کنید. این دستورالعمل به شما امکان میدهد سیستم init مورد نظر خود را برای مدیریت Redis به عنوان یک سرویس انتخاب کنید. به طور پیشفرض، این تنظیم شده است no. از آنجایی که شما اوبونتو ۲۲.۰۴ را اجرا میکنید که از systemd برای مدیریت سرویسهای در حال اجرا استفاده میکند، این دستورالعمل را روی تنظیم کنید systemd.

تغییرات را ذخیره کنید و از فایل پیکربندی خارج شوید. سپس سرور Redis را مجدداً راهاندازی کنید تا تغییرات اعمال شوند.
sudo systemctl restart redis
همچنین، مطمئن شوید که سرویس Redis در حال اجرا است:
sudo systemctl status redis

همچنین میتوانید سرور Redis را طوری تنظیم کنید که به طور خودکار پس از راهاندازی سیستم یا راهاندازی مجدد، همانطور که نشان داده شده است، شروع به کار کند.
sudo systemctl enable --now redis-server

برای بررسی نسخه Redis نصب شده، دستور زیر را اجرا کنید:
$ redis-server -v
خروجی زیر تأیید میکند که ما از نسخه ۶.۰.۱۶ سرور Redis استفاده میکنیم.

مرحله ۳: دسترسی به Redis CLI (رابط خط فرمان) #
با نصب Redis روی اوبونتو، مرحله بعدی آزمایش آن و بررسی عملکرد صحیح سرور است. برای رسیدن به این هدف، با استفاده از redis-cliابزار خط فرمان به سرور متصل شوید.
با اجرای دستور، خط فرمان شما به تغییر میکند ۱۲۷.۰.۰.۱:۶۳۷۹که نشان میدهد اکنون در حال کار بر روی پوسته Redis هستید.
برای آزمایش اتصال، pingدستور را اجرا کنید. خروجی PONGمطابق شکل نشان داده خواهد شد، که تأییدی بر عملکرد صحیح Redis است.

در ادامه، بیایید سعی کنیم یک کلید تنظیم کنیم. در این مثال، یک کلید به نام تنظیم خواهیم کرد cityکه San Franciscoمقداری را در خود نگه میدارد.
set city "San Francisco"
خروجی OKروی پوسته نمایش داده خواهد شد.
خروجی
OK
برای بازیابی مقدار کلید، از getدستور نشان داده شده استفاده کنید.
get city
این مقدار کلید را چاپ میکند.
"San Francisco"

مرحله ۴: پیکربندی احراز هویت برای Redis #
به طور پیشفرض، احراز هویت پیکربندی نشده است و هر کسی میتواند به راحتی بدون رمز عبور به دادههای ذخیره شده دسترسی پیدا کند. مانند اکثر سیستمها، امنیت از اولویت بالایی برخوردار است. بنابراین، من اکیداً توصیه میکنم رمز عبوری را پیکربندی کنید که از کلاینتها بخواهد خودشان را احراز هویت کنند.
برای پیکربندی احراز هویت، redis.confفایل را با ویرایشگر دلخواه خود باز کنید:
sudo nano /etc/redis/redis.conf
در فایل پیکربندی، requirepassدستورالعمل را پیدا کرده و از حالت کامنت خارج کنید. به طور پیشفرض، این مقدار روی تنظیم شده است که صرفاً یک متغیر موقت است. حتماً آن را به یک رمز عبور قوی تغییر دهید. همانطور که به زودی خواهیم دید، foobaredاین رمز عبوری است که کلاینتها با استفاده از این دستور احراز هویت میشوند .AUTH

تغییرات را ذخیره کرده و از فایل پیکربندی خارج شوید. برای اعمال تغییرات، سرویس Redis را مجدداً راهاندازی کنید.
sudo systemctl restart redis.service
برای آزمایش اینکه آیا احراز هویت با رمز عبور کار میکند، کلاینت Redis را فراخوانی کنید.
redis-cli
در مرحله بعد، سعی کنید هر عملیات SETیا را انجام دهید GET. برای مثال، سعی خواهیم کرد مقدار cityکلیدی را که قبلاً ایجاد کردهایم بازیابی کنیم.
get city
این بار، Redis خطایی مبنی بر نیاز به احراز هویت نمایش میدهد. برای ادامه، با AUTHدستور زیر و به دنبال آن رمز عبوری که در فایل پیکربندی مشخص کردهاید، احراز هویت را انجام دهید.
AUTH password
OKاگر رمز عبور درست باشد، خروجی زیر را دریافت خواهید کرد .
خروجی
OK
پس از احراز هویت، اکنون میتوانید به اجرای کوئریهای خود ادامه دهید. اگر سعی کنید مقدار کلید را بازیابی کنید، این بار عملیات موفقیتآمیز خواهد بود.

برای خروج از پوسته Redis، کافیست exitدستور زیر را اجرا کنید.
exit

مرحله ۵: اجازه اتصال از راه دور (اختیاری) #
اکنون Redis را روی اوبونتو نصب کردهایم، به Redis CLI دسترسی پیدا کردهایم و احراز هویت را پیکربندی کردهایم. در این بخش آخر، Redis را برای اتصالات از راه دور پیکربندی خواهیم کرد. اگر قصد دارید از راه دور به سرور Redis خود دسترسی داشته باشید، این پیکربندی ضروری است.
به طور پیشفرض، Redis به پورت ۶۳۹۷ گوش میدهد و فقط از طریق localhost قابل دسترسی است. با این حال، میتوانید آن را طوری پیکربندی کنید که امکان اتصال از راه دور از هر مکانی را فراهم کند.
برای اجازه دادن به اتصالات از راه دور، یک بار دیگر، فایل پیکربندی پیشفرض را باز کنید.
sudo nano /etc/redis/redis.conf
برای امکان اتصال از راه دور از هر مکانی، bindویژگی را روی تنظیم کنید .۰.۰.۰.۰

تغییرات را ذخیره کنید و از فایل پیکربندی خارج شوید. برای اعمال تغییر، سرویس Redis را مجدداً راهاندازی کنید.
sudo systemctl restart redis.service
برای تأیید اینکه میتوان از راه دور به Redis دسترسی داشت، ssدستور را مطابق شکل اجرا کنید.
sudo ss -an | grep 6379
خروجی ۰.۰.۰.۰:۶۳۷۹نشان میدهد که Redis از تمام منابع یا آدرسهای IP خارجی روی پورت ۶۳۷۹ در حال گوش دادن است.

اگر فایروال UFW را فعال کردهاید، مطابق شکل، ترافیک ورودی را روی پورت TCP 6379 مجاز کنید.
sudo ufw allow 6379/tcp
در مرحله بعد، فایروال را مجدداً بارگذاری کنید تا تغییرات ایجاد شده اعمال شود.
sudo ufw reload
برای دسترسی از راه دور به سرور Redis، از سینتکس زیر استفاده کنید:
redis-cli -h host-ip-address -p port
در مورد ما، دستور به صورت زیر ظاهر میشود: ۵.۱۹۹.۱۶۸.۱۹۸IP میزبان سرور Redis و ۶۳۷۹پورتی است که سرویس Redis به آن گوش میدهد.
redis-cli -h 5.199.168.198 -p 6397
پس از اتصال، با استفاده از AUTHدستور زیر، اجرای کوئریها را آغاز کنید.

نتیجه گیری #
و تمام. در این راهنما، شما نحوه نصب Redis در اوبونتو و همچنین نحوه پیکربندی Redis برای اتصالات از راه دور را یاد گرفتید.
