بلاگ/ارتباط با پایگاه داده Redis در سرورهای لینوکس
به‌روز شده

ارتباط با پایگاه داده Redis در سرورهای لینوکس

Redis یک محل ذخیره داده در حافظه اصلی یا in-memory است که به صورت متن‌باز ارائه می‌شود. چه به صورت محلی یا ریموت پایگاه داده Redis را نصب کرده باشید، در هر صورت نیاز به اتصال به آن دارید تا بتوانید بسیاری از عملیات‌ها را انجام دهید. قبلاً چگونه نصب Redis را در لینوکس اوبونتو بررسی کردیم و این بار...

1399/04/103556 بازدید
ارتباط با پایگاه داده Redis در سرورهای لینوکس
Redis یک محل ذخیره داده در حافظه اصلی یا in-memory است که به صورت متن‌باز ارائه می‌شود. چه به صورت محلی یا ریموت پایگاه داده Redis را نصب کرده باشید، در هر صورت نیاز به اتصال به آن دارید تا بتوانید بسیاری از عملیات‌ها را انجام دهید. قبلاً چگونه نصب Redis را در لینوکس اوبونتو بررسی کردیم و این بار می‌خواهیم نحوه اتصال به آن را از طریق خط فرمان، نحوه تأیید و تست ارتباط و همین‌طور، خاتمه ارتباط با Redis را ببینیم. سرور پایگاه داده Redis

نحوه استفاده از این راهنما

این آموزش به صورت خودآموز و با مثال‌های کامل است. توصیه می‌شود که مطابق با کاری که انجام می‌دهید، به سراغ بخش مربوطه بروید. فرمان‌هایی که در این آموزش ارائه شده، در یک سرور اوبونتو 18.04 و با نسخه 4.0.9 از Redis تست شده‌اند. در ادامه نشان خواهیم داد که رفتار این فرمان‌ها هنگام اجرا با redis-cli یا رابط کاربری خط فرمان Redis چگونه است. به خاطر داشته باشید که اگر از یک رابط کاربری دیگر مانند Redli برای Redis استفاده می‌کنید، ممکن است خروجی فرمان‌ها متفاوت باشند. البته می‌توانید یک پایگاه داده Redis آماده را برای تست این فرمان‌ها استفاده کنید. ولی به خاطر داشته باشید که بسته به سطح دسترسی و کنترلی که منبع ارائه کننده پایگاه داده برای شما فراهم می‌کند، عملکرد فرمان‌ها ممکن است مطابق راهنما نباشد.

اتصال به پایگاه داده Redis

اگر سرور پایگاه داده Redis را به صورت محلی نصب کرده باشید، می‌توانید به‌راحتی با redis-cli به آن متصل شوید.
php
redis-cli
در نتیجه وارد محیط هوشمند redis-cli می‌شوید که در آن امکان اجرای فرمان‌های داخلی Redis و دریافت پاسخ‌ها را خواهید داشت. در حالت هوشمند، خط فرمان شما نسبت به انعکاس وضعیت ارتباطی‌تان تغییر می‌کند. در این نمونه و سایر مثال‌های این آموزش، وضعیت شامل اتصال به یک سرور محلی پایگاه Redis با آدرس 127.0.0.1 و دسترسی به آن با پورت پیش‌فرض Redis یعنی 6379 خواهد بود. روش جایگزین برای اجرای فرمان‌های Redis در حالت هوشمند، اجرای آنها به صورت گزینه‌ای در فرمان redis-cli است. نمونه‌ای از این کار را در فرمان زیر ملاحظه می‌کنید.
php
redis-cli redis_command
اگر بخواهید به یک پایگاه داده Redis ریموت متصل شوید، می‌توانید به ترتیب با استفاده از گزینه‌های h و p، هاست و پورت آن را مشخص کنید. همچنین اگر برای ورودی پایگاه Redis، کلمه عبور تعیین کرده باشید، می‌توانید همراه با گزینه –a این پسورد را وارد کنید.
php
redis-cli -h host -p port_number -a password
در صورتی که کلمه عبور برای ورود به پایگاه داده ًRedis تعیین شده باشد، کلاینت‌ها همچنان می‌توانند حتی با نداشتن گزینه a در فرمان، به Redis متصل شوند. با این‌وجود، آنها نخواهند توانست که داده‌ای اضافه کنند یا تغییر دهند. برای تأییدیه ورود بعد از ارتباط با پایگاه داده، لازم است که از فرمان auth به همراه پسورد استفاده شود.
php
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 خواهد بود.
php
redli --tls -u rediss://connection_URI
اگر بخواهید به یک پایگاه داده خارج از دسترس متصل شوید، redis-cli به حالت «بدون ارتباط» وارد می‌شود. شما با چنین پیغامی روبرو می‌شوید.
php
not connected>
هر زمان که یک فرمان را اجرا کنید، Redis سعی می‌کند که اتصال را برقرار کند.

بررسی ارتباط

فرمان ping برای تست ارتباط با پایگاه‌های داده بسیار مفید است. باید درنظر گرفت که این فرمان ویژه پایگاه داده Redis است و با فرمان شبکه ping متفاوت خواهد بود. البته هر دوی این فرمان‌ها دارای یک عملکرد مشترک هستند و آن، بررسی ارتباط بین دو سیستم است. اگر اتصال برقرار باشد و هیچ گزینه اضافی وجود نداشته باشد، فرمان ping با پیغام PONG مواجه می‌شود.
php
ping
خروجی
php
PONG
در صورتی که فرمان ping را با یک عبارت همراه کنید، به جای PONG، این عبارت نمایش داده می‌شود. البته در صورتی  که ارتباط موفقیت‌آمیز باشد.
php
ping "hello Redis!"
خروجی
php
"hello Redis!"
اگر ping یا هر فرمان ارتباط را در زمان قطع‌بودن اتصال اجرا کنید، با نتیجه‌ای مشابه زیر روبرو خواهید شد.
php
Could not connect to Redis at host:port: Connection refused
به خاطر داشته باشید که ping در Redis برای اندازه‌گیری دوره تأخیر نیز به کار می‌رود.

قطع ارتباط با پایگاه داده Redis

برای قطع ارتباط با پایگاه داده Redis می‌توانید از فرمان quit استفاده کنید.
php
quit
همچنین اجرای فرمان exit موجب خاتمه ارتباط می‌شود.
php
exit
هر دوی این فرمان‌ها ارتباط را قطع می‌کنند؛ البته پس از اینکه پاسخ‌های در انتظار به کلاینت‌ها ارجاع داده شود.

جمع‌بندی

در این مطلب به برخی فرمان‌های مورد استفاده برای ایجاد، تست و خاتمه ارتباط با پایگاه داده Redis پرداختیم. امیدواریم که این مطلب نیز مورد استفاده شما قرار گرفته باشد. منبع: digitalocean.com