Redis یک محل ذخیره داده در حافظه اصلی یا in-memory است که به صورت متنباز ارائه میشود. چه به صورت محلی یا ریموت پایگاه داده Redis را نصب کرده باشید، در هر صورت نیاز به اتصال به آن دارید تا بتوانید بسیاری از عملیاتها را انجام دهید. قبلاً چگونه نصب Redis را در لینوکس اوبونتو بررسی کردیم و این بار میخواهیم نحوه اتصال به آن را از طریق خط فرمان، نحوه تأیید و تست ارتباط و همینطور، خاتمه ارتباط با Redis را ببینیم.
نحوه استفاده از این راهنما
این آموزش به صورت خودآموز و با مثالهای کامل است. توصیه میشود که مطابق با کاری که انجام میدهید، به سراغ بخش مربوطه بروید.
فرمانهایی که در این آموزش ارائه شده، در یک سرور اوبونتو 18.04 و با نسخه 4.0.9 از Redis تست شدهاند. در ادامه نشان خواهیم داد که رفتار این فرمانها هنگام اجرا با redis-cli یا رابط کاربری خط فرمان Redis چگونه است. به خاطر داشته باشید که اگر از یک رابط کاربری دیگر مانند Redli برای Redis استفاده میکنید، ممکن است خروجی فرمانها متفاوت باشند.
البته میتوانید یک پایگاه داده Redis آماده را برای تست این فرمانها استفاده کنید. ولی به خاطر داشته باشید که بسته به سطح دسترسی و کنترلی که منبع ارائه کننده پایگاه داده برای شما فراهم میکند، عملکرد فرمانها ممکن است مطابق راهنما نباشد.
اتصال به پایگاه داده Redis
اگر سرور پایگاه داده Redis را به صورت محلی نصب کرده باشید، میتوانید بهراحتی با redis-cli به آن متصل شوید.
redis-cli
در نتیجه وارد محیط هوشمند redis-cli میشوید که در آن امکان اجرای فرمانهای داخلی Redis و دریافت پاسخها را خواهید داشت.
در حالت هوشمند، خط فرمان شما نسبت به انعکاس وضعیت ارتباطیتان تغییر میکند. در این نمونه و سایر مثالهای این آموزش، وضعیت شامل اتصال به یک سرور محلی پایگاه Redis با آدرس 127.0.0.1 و دسترسی به آن با پورت پیشفرض Redis یعنی 6379 خواهد بود.
روش جایگزین برای اجرای فرمانهای Redis در حالت هوشمند، اجرای آنها به صورت گزینهای در فرمان redis-cli است. نمونهای از این کار را در فرمان زیر ملاحظه میکنید.
redis-cli redis_command
اگر بخواهید به یک پایگاه داده Redis ریموت متصل شوید، میتوانید به ترتیب با استفاده از گزینههای h و p، هاست و پورت آن را مشخص کنید. همچنین اگر برای ورودی پایگاه Redis، کلمه عبور تعیین کرده باشید، میتوانید همراه با گزینه –a این پسورد را وارد کنید.
redis-cli -h host -p port_number -a password
در صورتی که کلمه عبور برای ورود به پایگاه داده ًRedis تعیین شده باشد، کلاینتها همچنان میتوانند حتی با نداشتن گزینه a در فرمان، به Redis متصل شوند. با اینوجود، آنها نخواهند توانست که دادهای اضافه کنند یا تغییر دهند. برای تأییدیه ورود بعد از ارتباط با پایگاه داده، لازم است که از فرمان auth به همراه پسورد استفاده شود.
auth password
اگر پسورد مناسب را وارد کرده باشید با پیغام “OK” روبرو خواهید شد. در غیر این صورت، پیام خطا برایتان نمایش داده میشود.
اگر با یک پایگاه داده آماده ًRedis کار میکنید، ممکن است پروایدر ابری شما یک آدرس اینترنتی با شروع redis:// یا rediss:// به شما بدهد. این آدرس را میتوانید برای دسترسی به پایگاه دادهتان استفاده کنید. اگر رشته ارتباطی شما با redis:// آغاز شود، میتوانید آن را به عنوان یک گزینه در redis-cli به کار ببرید.
با این وجود، اگر رشته ارتباطی شما با rediss:// شروع میشود، به این معناست که پایگاه داده اماده Redis شما نیازمند اتصال TLS/SSH است. redis-cli از اتصال TLS پشتیبانی نمیکند. بنابراین حتماً احتیاج به ابزار دیگر برای پشتیبانی از پروتکل rediss دارید. در صورت لزوم برای ارتباط TLS با پایگاه داده Redis، توصیه میشود که از ابزار Redli استفاده کنید.
از قالب زیر برای ارتباط با پایگاه داده بهوسیله Redli استفاده کنید. به خاطر داشته باشید که در این مثال، از گزینه –tls استفاده کردهایم. این گزینه مشخص میکند که اتصال باید از طریق TLS صورت گیرد. همچنین گزینه –u مشخص میکند که پارامتر بعدی یک آدرس اینترنتی یا URI خواهد بود.
redli --tls -u rediss://connection_URI
اگر بخواهید به یک پایگاه داده خارج از دسترس متصل شوید، redis-cli به حالت «بدون ارتباط» وارد میشود. شما با چنین پیغامی روبرو میشوید.
not connected>
هر زمان که یک فرمان را اجرا کنید، Redis سعی میکند که اتصال را برقرار کند.
بررسی ارتباط
فرمان ping برای تست ارتباط با پایگاههای داده بسیار مفید است. باید درنظر گرفت که این فرمان ویژه پایگاه داده Redis است و با فرمان شبکه ping متفاوت خواهد بود. البته هر دوی این فرمانها دارای یک عملکرد مشترک هستند و آن، بررسی ارتباط بین دو سیستم است.
اگر اتصال برقرار باشد و هیچ گزینه اضافی وجود نداشته باشد، فرمان ping با پیغام PONG مواجه میشود.
ping
خروجی
PONG
در صورتی که فرمان ping را با یک عبارت همراه کنید، به جای PONG، این عبارت نمایش داده میشود. البته در صورتی که ارتباط موفقیتآمیز باشد.
ping "hello Redis!"
خروجی
"hello Redis!"
اگر ping یا هر فرمان ارتباط را در زمان قطعبودن اتصال اجرا کنید، با نتیجهای مشابه زیر روبرو خواهید شد.
Could not connect to Redis at host:port: Connection refused
به خاطر داشته باشید که ping در Redis برای اندازهگیری دوره تأخیر نیز به کار میرود.
قطع ارتباط با پایگاه داده Redis
برای قطع ارتباط با پایگاه داده Redis میتوانید از فرمان quit استفاده کنید.
quit
همچنین اجرای فرمان exit موجب خاتمه ارتباط میشود.
exit
هر دوی این فرمانها ارتباط را قطع میکنند؛ البته پس از اینکه پاسخهای در انتظار به کلاینتها ارجاع داده شود.
جمعبندی
در این مطلب به برخی فرمانهای مورد استفاده برای ایجاد، تست و خاتمه ارتباط با پایگاه داده Redis پرداختیم. امیدواریم که این مطلب نیز مورد استفاده شما قرار گرفته باشد.
منبع: digitalocean.com