کش Redis چیست و چطور در وردپرس از آن استفاده کنیم
کش Redis یا Redis Object Cache یکی از تکنولوژیهای کش کردن اطلاعات است که میتواند سرعت سایت وردپرس شما را به شدت افزایش دهد. طبق منابع سایت TechStacks کش ردیس، روی سایتهای معتبر زیادی از جمله گیت هاب، پینترست، اینستاگرام و … استفاده شده است. پس بد نیست اطلاعاتی درباره نحوه کارکرد این سیستم کش داشته باشیم.
Redis (مخفف عبارت Remote Dictionary Server)، یک سیستم کش دیتابیس بر پایه حافظه رم است که با کش کردن دادههای دیتابیس سایت شما در رم سیستم، باعث افزایش سرعت سایت وردپرس و خصوصا پنل مدیریت وردپرس شما خواهد شد.
اما بیایید آاستهتر جلو برویم. شاید درباره کش اطلاعات زیادی نداشته باشید. اصلا نگران نباشید چون شما یک هممیهن وردپرسی هستید. 🙂
آنچه در این مقاله میخوانید
اصلا کش یعنی چه
اگر یک صفحه از یک وبسایت را کش کنیم، اطلاعات آن صفحه شامل تصاویر، سی اس اسها، اطلاعات موجود در دیتابیس و خلاصه هر چیزی که فکرش را بکنید از یک مکان در دسترستر لود خواهد شد. پس سرعت باز شدن آن صفحه بیشتر خواهد بود.
پس کش باعث میشود سرعت لود صفحه بالاتر رود و از طرفی دیگر، منابع استفاده شده سرور بسیار کمتر باشد.
Object Cache چیست
آبجکت کش یک سیستم کش سمت سرور است، در این سیستمها معمولا کش توسط کاربر نهایی مدیریت نمیشود، یعنی اگر شما از یک هاست اشتراکی استفاده میکنید و خود مدیر سرور نیستید، نمیتوانید مستقیما Object Cache را مدیریت کنید. بلکه با استفاده از افزونههایی میتوانید این کار را انجام دهید.
اما کاربری که به عنوان بازدید کننده از سایت شما استفاده میکند، نمیتواند کش را حتی با خالی کردن کش مرورگر حذف کند. تمام موارد کش از سمت سرور انجام خواهد شد.
Object Cache باعث میشود اطلاعات دیتابیس شما در جایی ذخیره شود. (حالا این مکان میتواند رم سیستم باشد یا هارد دیسک سیستم) زمانی که اولین بار کاربر سایت شما را باز کرد، اطلاعات در کش ذخیره میشود. دفعات بعدی اطلاعات از همان مکان کش خوانده میشود و سرعت دریافت اطلاعات بسیار بیشتر خواهد بود.
وردپرس بصورت پیشفرض از کش خودکامه (کمی سخت شد 🙂 ) WP_Object_Cache استفاده میکند.
چه زمانهایی از Object Cache استفاده میکنیم
ما در میهن وردپرس زمانی از آبجکت کش استفاده میکنیم که ترافیک زیادی به دلیل ایجاد یک کمپین تبلیغاتی روی سایت بوجود میآید. مثلا تخفیفهای عید نوروز بهانه خوبی برای استفاده از این مدل کش هستند.
MEMCACHED یا REDIS
MEMCACHED یک سیستم کش شبیه به Redis است. اینکه از کدام یکی استفاده کنیم سوال بسیار بزرگی برای خود من بود. تا همین چند ماه پیش هر چقدر درباره این دو تحقیق و بررسی کردم، به نتیجهای نرسیدم. میتوان گفت هر دو سیستم بسیار عالی هستند.
اما چطور Redis Cache را نصب کنیم
اگر خود مدیر سرور هستید و سرور سایت خود را مدیریت میکنید که کار بسیار آسان است. اما اگر از هاست اشتراکی استفاده میکنید، قطعا باید مدیر سرور را قانع کنید. معمولا مدیران شرکتهای هاستینگ یا از موضوع اطلاع کافی ندارند و یا اصلا دوست ندارند تابع مشتری باشند. (البته در برخی مواقع واقعا حق دارند.) تصمیم به اجرای پیشنهاد شما نمیگیرند.
بگذریم. اگر نتوانستید مدیر سرور را قانع کنید، یا خود مدیر سرور هستید، با اجرای این دستورات خواهید توانست Redis را روی سرور سایت خود نصب کنید.
yum install epel-release
با دستور بالا epel-release را روی سرور نصب کردیم. حالا ردیس کش را نصب کنیم:
yum install redis
حالا اجرا کنیم:
systemctl start redis
و برای شروع خودکار Redis موقع روشن یا ریستارت کردن سرور، دستور زیر را تایپ کنید:
systemctl enable redis
حالا اگر دستور redis-cli ping را در Terminal وارد کنید، عبارت PONG را میبینید که نشان دهنده کارکرد صحیح Redis است.
در نهایت باید PHP Redis Extention را روی PHP خود نصب کنید. با اینکار عملیات نصب Redis از سمت سرور شما انجام خواهد شد.
نصب Redis Cache روی وردپرس
برای نصب Redis روی سایت وردپرسی خود، کافیست از افزونه وردپرس Redis Cache استفاده کنید. قطعا آموزش نصب افزونه در وردپرس را هم میدانید و نیازی به توضیح در این باره نیست.
بعد از نصب این افزونه، کافیست روی Enable Redis در بخش تنظیمات افزونه کلیک کنید تا ردیس کش روی سایت شما نصب و فعال شود.
موفق و پیروز باشید. 🙂
ایا استفاده این افزونه کنار راکت ممکن است و مشکلی ایجاد نمیکند/؟؟؟؟؟؟؟؟؟؟؟؟
ایا استفاده این افزونه کنار راکت ممکن است و مشکلی ایجاد نمیکند/؟
سلام
سپاس از مطالب خوبتون
بنده در سایتم افزونه راکت نصب هست. اما در سلامت سایت همچنان پیام فعال نبودن آبجکت کش ردیس و مم کش نمایش میده. در صورتی که تیک هر دومورد در هاست خورده البته ردیس کمرنک فقط تیک خورده.
حالا میخوام بدونم میتونم از این افزونه هم در کنار راکت در سایتم استفاده کنم یا خیر؟
با تشکر از شما
گزینه enable پیش فرض خاموشه با اینکه هاستم redis support هست
باید فعالش کنید اگر هاستتون ساپورت کنه باید بشه روشنش کرد.
سلام من وبسروم apache هست
کنترل پنل هم دایرکت ادمین هست
کجا باید از دستورات را وارد کنم
توی کامند لاین سرور
سلام
سرور فعال کرد
سرور litespeed و دسترسی به افزونه ردیس رو ندارم
پس رفتم و از داخل litespeed گزینه ردیس رو فعال و تیک ردیس رو هم زدن
سرعت سایت افتضاح شد
هم redis فعال ه وهم memchash
من redis رو که فعال میکنم not connected میده!
سلام
شما از چه سیستم کشی استفاده میکنید؟
سرعت سایت شما مربوط به بهینه بودن کش است؟ یا کدنویسی بهیه قالبتون؟
سلام
هر دو مورد. ما از وردپرس راکت استفاده میکنیم