Web yavaşlama Ağır oturumları

3 Cevap php

I am programming in PHP mysql. I have recently got into OOP programming.

Yani benim nesneleri seri ve OTURUMLARIN onları saklamak gerekir. Ancak ben büyük oturumları benim web sayfalarının serinletici ve yüklenmesini yavaşlatan düşünüyorum.

Ben hala yükleme süresini web sayfasını ve geliştirmek için web sayfası benim nesneleri paylaşmak, böylece (deserializing serializing daha) alternatif bir yaklaşım yoktur.

Thanks Rahul

3 Cevap

Önce asıl darboğaz ne analiz etmelidir. Bu nesne serileştirme / seriyi kaldırma gerçekten var mı?

Eğer öyleyse tüm nesneleri her istek üzerine ya da talep üzerine yeniden edilebilir eğer mevcut olması gerekiyorsa, kendinize sorun. Sonra sadece yerine bütün nesnelerin bu nesneleri yeniden anahtar değerlerini saklamak olabilir.

Ama yine de tüm bu nesneleri gerekiyorsa, varsayılan daha ölçülebilir depolama konumunu (dosya sistemindeki dosyaları), belki bellek (memcache) kullanın.

Eğer sayfa yük sayfa yükten gerekli saklamak tüm nesneler nelerdir? Eğer değilse o zaman oturumu dışında bu nesneleri tutmak ve yalnızca ihtiyacınız sayfalarında bunları yeniden gerekir.

Her Eğer gerçekten ihtiyacınız varsa ne olursa olsun tefrika ve her sayfa yük dizgilenmemiş alacak oturumda depolamak nesne. Yani en az o tutmak isteyeceksiniz.

Başka bir seçenek oturumda nesneyi değil, tüm nesneyi yeniden gerekenler sadece saklamak olduğunu. Örneğin siz oturumda bir veritabanı id saklayabilir ve bunları gerektiğinde veritabanından nesneleri yeniden.

Genel bir kural olarak 4KB veya daha az (bağımsız kullanmak hangi programlama dili üzerinde) için Oturum boyutunu sınırlamak için çalışmalısınız. Veri daha en büyük alırsanız verileri kalıcı (MySQL / PostgreSQL / ... gibi), bir veritabanında tablolar kullanmaya başlamak gerekir.

Örnek: Bir blog Madde için bir taslak Mağaza

  1. Oturumu'nda (tüm bu imgeleri vb) vs
  2. Madde-DB-Tablo (burada bir bayrak draft=1).

İnan bana, bu DB seçerseniz daha kullanışlı (ve serileştirme ile uğraşmak zorunda değilsiniz).