توسعهدهندگان معمولا به دنبال سیستمهایی هستند که سرعت و عملکرد پروژههای خود را افزایش دهند. یکی از این سیستمهای محبوب Redis است که توسعهدهندگان با نصب ردیس میتوانند به این مزایا دست پیدا کنند. ردیس یک دیتابیس منبع باز و درون حافظه است که بهعنوان کش و واسطه پیام استفاده میشود. ردیس همچنین بهعنوان سرور ساختار داده شناخته میشود.
چیزی که ردیس را در مقایسه با سیستمهای دیتابیس رابطهای منحصربهفرد میکند، توانایی ذخیره انواع دادههای سطح بالا مانند نقشهها، لیستها و مجموعهها است. همچنین با نصب ردیس میتوان به یک رابط کاربری آسان، قابلیت دستکاری بسیار جزئی دادهها و عملکرد استثنایی دسترسی پیدا کرد.
در این آموزش، فرایند نصب Redis را در سیستمعامل اوبونتو 18.04، 20.04 و 22.04 و همچنین هرگونه پیکربندی مورد نیاز برای اجرای صحیح آن را بررسی خواهیم کرد.
نحوه نصب ردیس در اوبونتو
به منظور نصب و پیکربندی سرور Redis در لینوکس اوبونتو، ابتدا باید یک سرور مجازی لینوکس با سیستمعامل اوبونتو تهیه کرده باشید. با انجام همهی پیشنیازها، به SSH متصل شوید و نصب را شروع کنید.
1) مخزن APT را بهروز کنید
ردیس در مخزن بسته رسمی اوبونتو گنجانده شده است. بااینحال، توصیه میکنیم برای دریافت آخرین نسخه ممکن، بهطور مکرر مخزن APT را بهروز کنید.
sudo apt-get update
2) با استفاده از دستور APT سرور Redis را روی اوبونتو نصب کنید
نصب ردیس با امتیازات دستور sudo و با دستور زیر بهسادگی قابل نصب است:
sudo apt install redis
دکمه Y و سپس Enter را از روی صفحهکلید فشار دهید تا فرایند نصب ادامه پیدا کند.
3) نسخه Redis را بررسی کنید
پس از نصب Redis، میتوانید با استفاده از دستور زیر بررسی کنید که آیا نصب با موفقیت انجام شده است یا خیر:
redis-cli --version
خروجی این دستور، نسخه سرور Redis را که در حال حاضر بر روی سرور مجازی شما نصب شده است، نمایش میدهد.
4) سرویس Redis را اجرا کنید
پس از اتمام نصب، توصیه میشود بررسی کنید که آیا نمونه ردیس نصبشده در حال اجراست یا خیر. برای تست اتصال میتوانید از دستور زیر استفاده کنید:
sudo systemctl status redis
در خروجی دستور، به خط «Active: active (running)
» توجه کنید.
اگر ردیس اجرا نشده و وضعیت غیرفعال است، میتوانید با وارد کردن دستور زیر، کلاینت Redis را فعال کنید:
sudo systemctl stop redis
» استفاده کنید. حالا باید در خروجی دستور خط «Active: inactive (dead)
» را مشاهده کنید. اگر به گزینهای برای ریستارت کردن سرویس Redis نیاز دارید، کافیست از دستور «sudo systemctl restart redis-server
» استفاده کنید.5) نام دستورات خطرناک را تغییر دهید
یک روش معمول برای ایمن کردن ردیس تغییر نام دستورات یا غیرفعال کردن هر یک از دستورات بالقوه خطرناک است. چنین دستوراتی خطرناک هستند زیرا هر کاربر غیرمجازی میتواند از آنها استفاده کند و تمام دادههای دیتابیس را دستکاری کند یا حتی از بین ببرد.
بهخاطر داشته باشید که این فرایند کاملا اختیاری است و شما میتوانید تصمیم بگیرید که آیا میخواهید نام آن را تغییر دهید، غیرفعال کنید یا اجازه بدهید فعال بماند. برای شروع، فایل «/etc/redis/redis.conf
» را با ویرایشگر دلخواه خود باز کنید. در این مثال ما از ویرایشگر متنی نانو استفاده میکنیم:
sudo nano /etc/redis/redis.conf
سپس، بخش SECURITY را پیدا کنید، جایی که میتوانید نام یک فرمان را تغییر دهید یا غیرفعال کنید. در این مثال، ما دستورات FLUSHALL
، SHUTDOWN
و DEL
را به CANTSEE_FLUSHALL
، CANTGUESS_SHUTDOWN
و CANTHEAR_DEL
تغییر نام میدهیم.
ما همچنین دستورات DEBUG
و CONFIG
را بهطور کامل غیرفعال میکنیم:
سایر دستورات بالقوه خطرناک عبارتند از RENAME
، SAVE
، SREM
، FLUSHDB
، PEXPIRE
و BGSAVE
.
برای اینکه همه چیز را آزمایش کنید، سرویس ردیس را ریستارت کنید:
sudo systemctl restart redis.service
سپس وارد کلاینت خط فرمان Redis شوید:
redis-cli
برای آزمایش یک فرمان غیرفعال، فقط باید آن را امتحان کنید. بهعنوان مثال، آزمایش دستور DEBUG باید به شکل زیر باشد:
یک خطا نشان داده میشود، زیرا دستور DEBUG بهطور کامل غیرفعال است. گام بعدی این است که دستور تغییر نام را امتحان کنید. در این مثال، ما تلاش میکنیم دستور FLUSHALL را اجرا کنیم.
همانطور که در تصویر بالا میبینید، دستور FLUSHALL کار نمیکند، درحالیکه این دستور با وارد کردن نام جدیدش یعنی «CANTSEE_FLUSHALL
» بهدرستی کار میکند.
نحوه یافتن و ویرایش فایل پیکربندی ردیس در اوبونتو
فایل پیکربندی پیشفرض ردیس در دایرکتوری «/etc/redis/redis.conf
» قرار دارد. پیکربندی پیشفرض زمانی است که سرور Redis به تمام اتصالات موجود توجه کند.
شما میتوانید مشخص کنید که این پیکربندی فقط به اینترفیسهای انتخابی شما توجه کند. این کار را میتوان با استفاده از دستورالعمل پیکربندی bind که یک یا چند آدرس IP از آن پیروی میکند انجام داد.
برای دستور دادن به سرور ردیس برای توجه به یک آدرس IP خاص، باید فایل «/etc/redis/redis.conf
» را ویرایش کنید. این فایل را با ویرایشگر دلخواهتان باز کنید. در این مثال ما از ویرایشگر نانو استفاده میکنیم.
sudo nano /etc/redis/redis.conf
خط «bind 127.0.0.1 ::1» را پیدا کنید.
آدرس IP را با وارد کردن مقادیر اتصالاتی که میخواهید سرور ردیس به آنها توجه کند، تغییر دهید. به مثال زیر توجه کنید:
bind 70.25.220.238
به منظور اضافه کردن چندین آدرس IP، فقط کافیست آدرسهای IP را با فاصلهای مانند زیر جدا کنید:
bind 70.25.220.238 70.25.220.239
در اینجا باید آدرسهای IP شبکه خود را وارد کنید.
بااینحال، اگر میخواهید سرور به تمام اینترفیسهای موجود در شبکه توجه کند، میتوانید خط bind را بهطور کامل به کامنت تبدیل کنید.
پس از انجام تغییرات، فایل را ذخیره کنید و ببندید. سپس سرویس Redis را ریستارت کنید تا تغییرات اعمال شود:
sudo systemctl restart redis-server
استفاده از دستورات Redis
پس از نصب ردیس در سرور مجازی چندین گروه مختلف از دستورات وجود دارد که میتوانید از آنها استفاده کنید:
- دستورات String
- دستورات List
- دستورات Set
- دستورات Hash
- دستورات Sorted set
- دستورات Pub/Sub
در اینجا ما برخی از دستوراتی که در پرامپت ردیس استفاده شدند را فهرست کردهایم:
Redis-server /path/redis.conf (این دستور پیکربندی ردیس، سرویس ردیس را با یک فایل پیکربندی خاص اجرا میکند)
- Redis-cli (دستوری برای اجرای کلاینت Redis CLI)
- APPEND key value (مقداری را به یک کلید اضافه میکند)
- BITCOUNT key [start end] (تعداد بیتهای مجموعه را در یک رشته (String) قرار میدهد)
- SET key value (مقداری را در یک کلید تنظیم میکند)
- EXPIRE key 120 (پس از 120 ثانیه کلید را منقضی میکند)
- INCR key (مقدار کلید را افزایش میدهد)
- KEYS pattern (تمام کلیدهای مطابق با یک الگوی خاص را پیدا میکند)
- DEL key (یک کلید را حذف میکند)
- STRLEN key (طول یک کلید را بهدست میآورد)
- MSET key value [key value …] (چندین کلید و جفت مقدار را تنظیم میکند)
- MGET key [key …] (مقادیر را از چندین کلید دریافت میکند)
- GETSET key value (مقدار جدید را در حین برگرداندن مقدار قدیمی تنظیم میکند)
- INCRBY key increment (تعداد کلیدها را افزایش میدهد)
- DECRBY key increment (تعداد کلیدها را کاهش میدهد)
جمعبندی
سرور دیتابیس Redis یکی از محبوبترین جایگزینها برای دیتابیسهای رابطهای مانند MySQL است. با ردیس، کاربران میتوانند عملکرد و سرعت بالایی را بهخصوص برای وبسایتهای پربازدید انتظار داشته باشند. بنابراین، با خرید VPS پرسرعت مانند سرور مجازی آلمان و نصب ردیس میتوانید وبسایتها و اپلیکیشنهای خود را به بهترین شکل میزبانی کنید.
در این آموزش ما جنبههای اصلی ردیس و دلیل ارزشمند بودن آن را پوشش دادهایم. ما همچنین فرایند نصب Redis را در سیستمعاملهای اوبونتو 18.04، 20.04 و 22.04 بررسی کردهایم. در نهایت، ما چند دستور مفید ردیس و نحوه ایمنسازی ردیس را با تغییر نام دستورات بالقوه خطرناک توضیه دادهایم.
امیدواریم این آموزش برای شما مفید بوده باشد. اگر سوال یا نظری دارید خوشحال میشویم آنها را در بخش زیر نظرات مطرح کنید.