Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

PHP ve Memcache


4Ever

Öne çıkan mesajlar

Selam arkadaşlar,

Yukarıdaki 2 konuya hakim arkadaşların yardımına ihtiyacım var. Web sayfasında tüm verileri cache üzerinde tutuyoruz

Örn: sepet, sepet ürün sayıları, yorumlar,ürünler,vs... e ticarette aklınıza ne geliyorsa cache üzerinde.

Cacheleri uniq key belirleyip her kullanıcı için ayrı ayrı tutuyoruz ve haliyle 10-15k üzerinde cache key oluşuyorum.

Sistemde ürüne ait bir güncelleme olduğunda o ürüne bağlı tüm cacheler sistemden düşürülüyor. Bazı durumlarda bu cache sayıları çok fazla olduğunda cache sunucusu verileri silemiyor.

Böyle bir problem yaşıyorum konuda biraz acil bilgili arkadaşlar yardım edebilirse sevinirim.
Link to comment
Sosyal ağlarda paylaş

datanin dusmesi eski veriye izin verme vb icin biseyler yapmadiysaniz kacinilmaz da

buyuk guncellemelerde cikan sorunu detaylandirabilir misin
sorun olarak ne veriyor misal

ben yogun yuk binince cokuyor bazi nodelar diye algiladim mesela, bu durumda hafiza sorunlari veya bug report
Link to comment
Sosyal ağlarda paylaş

cache olayini abartmissiniz gibime geldi bana yani benim bildigim cache cogunlukla, one to many iliskilerde yapilir, mesela anasayfa 1 milyon kullanici icin statiktir cachelersin yada,
kategori urunleri keza electronics kategorisini caclersin ama product base yaparsan scalable olmaz memory i patlatirsin gibi geliyo.

bende cacleri silmekten daha cok, scalable bi caching mechanizm izlemeniz daha faydali olur
Link to comment
Sosyal ağlarda paylaş

Elindeki key sayisina gore proportional delete zaman nin olur, silemiyor diye birsey yok, senin sikintin baska birsey belli ki.

Cache e basket iceren key ler ile value silerken, key i ilk koyarken olusturdugun algo ile yeniden yaratip remove ediyorsun tahminim, generate edip sonra unuttugun key ler mevcuttur buyuk ihtimal.
Link to comment
Sosyal ağlarda paylaş

Her kullanıcıya uniq bir ID veriyorum. 40 karakterden oluşan ve keyler bu ID lere göre belirleniyor.

Örnek:
basket_product_count_3241231423121sd21sd1
basket_product_list_3241231423121sd21sd1
member_favorite_product_list_3241231423121sd21sd1
...

Bunun gibi keylerim var ben ürün ile ilgili bir güncelleme yaptığım zaman. Tüm keyleri tarayıp içinde "product" geçen keyleri sistemden siliyorum. Sorunum tam burada kaynaklanıyor ve keyler silinemiyor.

Cache Key yönetimi için başka yöntemler varsa onları da deneyebilirim.

Silme işleminden sonra basket_product_count alabilmek için tekrar cache atmıyorum. Kullanıcı ilk girişinde DB sorup daha sonra cacheliyor ve sonraki girişlerinde cacheden getiriyor.
Link to comment
Sosyal ağlarda paylaş

urun fiyatini zaten 15 bin key de tutuyosan hata.

expire field i 2 saat tutacaksin, 2 saat sonra tekrar yenilenecek zaten. ya da bi tane cache de urun bilgisi tutacaksin, digerlerinde referans tutacaksin. sistemini bilmiyorum ama o kadar datayi denormalize ediyosan zaten biraz bastan sorunlu gibi.
Link to comment
Sosyal ağlarda paylaş

Şöyle anlatayım,

Bir ürünü sepetine eklerken ürünün minimum değerlerini fiyat,ürün adı,resim,kdv gibi verileri kopyalıyorum sepet tablosuna.

Bu yüzden kullanıcı sepeti cachelendiği için fiyatıda cacleniyor. Ürün fiyatında değişiklik olduğu zaman mecburen onu cacheden düşürmem gerekiyor.

Yapıda hata olabilir ama değiştirmem için uzun zaman gerekiyor şuanda o kadar zamanım yok :(
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...