Redis va Memcached — xotira (RAM)da ma'lumot saqlovchi tezkor kesh tizimlari. Ma'lumotlar bazasiga (MySQL) har safar murojaat qilish o'rniga, tez-tez kerak bo'ladigan ma'lumotni RAMda saqlab, saytni keskin tezlashtiradi. Yuqori trafikли saytlar uchun deyarli majburiy.
Muammo: DB har safar so'raladi
Oddiy sayt har sahifa yuklanishida MySQL'dan ma'lumot oladi. 1000 foydalanuvchi bir vaqtda — 1000 ta bir xil so'rov. MySQL sekinlashadi, server qiziydi. Yechim: javobni bir marta olib, keshda saqlash.
Memcached — sodda va tez
Faqat "kalit-qiymat" saqlaydi (key-value). Juda sodda, juda tez. Faqat RAMda — server o'chsa ma'lumot yo'qoladi (lekin bu kesh, muhim emas). Oddiy sahifa keshi, sessiya saqlash uchun ideal.
Redis — kuchli va ko'p qirrali
Memcached'dan ko'proq imkoniyat: ro'yxatlar, hash, set, sorted set tuzilmalari. Diskka saqlash (persistence) mumkin — qayta ishga tushganda ma'lumot saqlanadi. Pub/Sub (xabar almashish), atomik operatsiyalar. Zamonaviy loyihalar ko'pincha Redis tanlaydi.
Qaysi birini tanlash?
1) Faqat oddiy kesh kerak — Memcached yetadi. 2) Murakkab tuzilmalar, persistence, queue, real-time — Redis. 3) Hozir aksariyat loyihalar Redis'ni afzal ko'radi — ko'p qirraliligi tufayli.
WordPress'da
Redis Object Cache plugin + serverda Redis. DB so'rovlar 50-80% kamayadi. WooCommerce kabi og'ir saytlarda sahifa yuklanishi 2-3x tezlashadi.
Laravel'da
Laravel Redis'ni native qo'llab-quvvatlaydi. Cache, session, queue, broadcasting — hammasi Redis orqali. CACHE_DRIVER=redis .env faylida.
Sessiya saqlash
Bir nechta server (load balancing) ishlatsangiz, sessiyani Redis/Memcached'da markazlashtirish kerak. Aks holda foydalanuvchi har serverda qayta login qilishi kerak bo'ladi.
Kesh strategiyalari
1) Cache-aside: avval keshdan qidirish, yo'q bo'lsa DB'dan olib keshga yozish. 2) TTL: har kesh yozuviga muddat (masalan 1 soat) — eski ma'lumot avtomatik o'chadi. 3) Invalidation: ma'lumot o'zgarsa keshni tozalash.
O'rnatish (Ubuntu misol)
Redis: apt install redis-server. Memcached: apt install memcached. PHP kengaytma: apt install php-redis yoki php-memcached.
Sayt.uz amaliyot
Sayt.uz VPS va dedicated planlarda Redis o'rnatish mumkin. Yuqori trafikли mijoz saytlarida Redis object cache DB yukini sezilarli kamaytiradi va sahifa tezligini oshiradi.