کش شیء می‌تواند اجرای تکراری بعضی درخواست‌های دیتابیس را کاهش دهد. اندازه تاثیر آن به سایت بستگی دارد.

تفاوت با کش صفحه

کش صفحه خروجی آماده HTML را نگه می‌دارد. کش شیء داده‌های قابل استفاده مجدد را میان درخواست‌ها نگهداری می‌کند. صفحه‌های پویای فروشگاه ممکن است از کش شیء بهره ببرند، اما کوئری نامناسب یا افزونه سنگین همچنان می‌تواند کندی ایجاد کند. پیش از فعال کردن، سازگاری افزونه و تنظیمات اتصال را بررسی کنید.

حافظه، جداسازی و سنجش

برای هر سایت فضای نام‌گذاری جدا و دسترسی محدود در نظر بگیرید. Redis نباید بدون محافظت روی اینترنت باز باشد. مصرف حافظه و سیاست حذف کلیدها را دنبال کنید. نتیجه را با کاهش زمان پردازش، نرخ برخورد کش و رفتار سایت بسنجید و فقط به روشن شدن یک چراغ سبز در افزونه تکیه نکنید.

برای انتخاب یا تغییر زیرساخت، ابتدا وضعیت فعلی سایت را ثبت کنید. یک تغییر مشخص انجام دهید و سپس همان مسیرهای کاربری را دوباره آزمایش کنید. راهنماهای روناتا مبنای تصمیم‌گیری اولیه هستند و بررسی جزئیات هر سایت به داده واقعی نیاز دارد.

قبل از فعال سازی Redis چه چیزی ثبت شود؟

کش شیء پایدار برای نگهداری نتیجه‌های قابل استفاده مجدد میان درخواست‌های PHP است. ابتدا بررسی کنید افزونه‌ای از قبل فایل object-cache.php ساخته است یا نه. وجود چند ابزار با مسئولیت یکسان می‌تواند باعث تداخل شود. نام افزونه، نسخه، روش اتصال و شناسه دیتابیس یا پیشوند کلیدها را ثبت کنید. سایت‌های مستقل نباید بدون جداسازی روی فضای کلید یکسان بنویسند. محیط آزمایش هم باید از سایت اصلی جدا باشد.

اتصال Redis را در شبکه عمومی بدون حفاظت رها نکنید. تنظیم دسترسی، محدودیت شبکه و احراز هویت باید در لایه زیرساخت بررسی شوند. رمز اتصال نباید در اسکرین‌شات یا تیکت عمومی قرار بگیرد. در وردپرس فقط فعال بودن افزونه را ملاک قرار ندهید. گزارش ابزار باید استفاده واقعی از کش پایدار را نشان دهد. توضیح کش وردپرس در مستندات رسمی تفاوت این لایه با کش کامل صفحه را روشن می‌کند.

چه زمانی نتیجه بهبود قابل دفاع است؟

یک صفحه محصول، نتیجه جست‌وجو و حساب کاربر را قبل و بعد از تغییر بررسی کنید. کش صفحه را در تمام اجراها در وضعیت یکسان نگه دارید تا اثر Redis با اثر کش HTML مخلوط نشود. زمان پاسخ، تعداد و زمان کوئری‌ها و مصرف حافظه را ثبت کنید. نسبت برخورد به کش به‌تنهایی کافی نیست. ممکن است کلیدهای زیادی خوانده شوند ولی کندترین بخش سایت همچنان درخواست یک API بیرونی باشد.

پاک‌سازی کامل کش روی چند سایت هم‌زمان می‌تواند فشار ناگهانی روی دیتابیس ایجاد کند. روش پاک‌سازی باید فقط محدوده سایت مربوط را هدف بگیرد. پس از تغییر قیمت یا موجودی، خروجی را با حساب مهمان و کاربر واردشده بررسی کنید. اگر کش کهنه دیده شد، مسیر حذف کلید یا ناسازگاری افزونه را بررسی کنید. افزایش حافظه Redis بدون شناخت الگوی حذف و تولید کلید، راه‌حل قطعی نیست.

مشاهدهبررسی بعدی
افزونه فعال است اما کش پایدار گزارش نمی‌شوداتصال و فایل drop-in
زمان پاسخ بهتر نشده استکوئری کند، API خارجی و مسیر بدون کش
حافظه به سقف می‌رسدحجم کلید، عمر داده و سیاست حذف
قیمت قدیمی دیده می‌شودپاک‌سازی کلیدها و کش صفحه محصول
جداسازی کش عمومی و داده شخصی
جداسازی کش عمومی و داده شخصی

برنامه بازگشت داشته باشید

پیش از تغییر، تنظیمات و فایل drop-in را ثبت کنید. غیرفعال‌کردن ابزار باید طبق راهنمای همان افزونه انجام شود تا فایل اتصال ناسازگار باقی نماند. بعد از بازگشت، ورود، جست‌وجو و ثبت سفارش را بررسی کنید. تغییر هم‌زمان چند لایه کش تشخیص علت را دشوار می‌کند. یک تغییر مشخص انجام دهید و نتیجه را با همان روش اندازه‌گیری بسنجید. راهنمای کش ووکامرس و تحلیل زمان پاسخ مسیر بعدی این بررسی هستند.

آزمون با صفحه و وضعیت کش یکسان
آزمون با صفحه و وضعیت کش یکسان