2008-08-31 41 views
9

MySQL queries'yi PHP'te önbelleğe almanın ya da başarısız olmanın basit bir yolu var mı, yoksa birisinin yazacağı ve hazırlayabileceği küçük bir sınıf kümesi var mı? Bütün bir sayfayı önbelleğe alabilirim ancak bu bazı veri değişikliklerinde işe yaramıyor, ancak bazıları değil, olmayan kısmı önbelleğe almak istiyorum.MySQL sorgularını önbelleğe alma

cevap

11

Bu MySQL sorguları önbelleğe nasıl büyük bir bakıştır. En az birkaç megabayt vermek için my.cnf dosyanızı düzenleyin. PHP değişiklikleri gerekli değil :)

1

sorgu önbellek boyutu kapalı varsayılan olarak 0 olduğunu düşünüyorum:

+0

Birçok Ubuntu/Debian sunucular üzerinde MySQL kurmaktır ve yapılandırmaları yeniden teslim olarak, önbelleğe alma varsayılan olarak açmak olduğunu. 'query_cache_limit = 1M' ve 'query_cache_size = 16M' – shgnInc

1

Denediğin şey için tam bir overkill olabilir, ancak eAccelerator veya memcache'a bak. Düzenli olmayan ve sorgulamayan sorguları olan sorgularınız varsa, tüm db sorgularınızın mysql tarafından aynı süre için önbelleğe alınmasını istemeyebilirsiniz. Yukarıdaki gibi

Önbellekleme motorları veri için önbelleğe ne kadar olmalı sorgu-by-sorguda temelinde, sen karar verir. Başlığınızda, sık sık değişecek olan verileriniz olduğunu varsayalım, şu anda önbellekte olup olmadığını kontrol edebilirsiniz - eğer öyleyse, iade edin, aksi halde sorguyu yapın ve bir ömür boyu N ile ön belleğe koyun, böylece bir sonraki N saniye, her sayfa yükü MySQL'e yaklaşmadan önbellekten veri çeker. Ardından, diğer verileri "canlı" db'den, gerektiğinde, önbelleği kaldırarak, db'den çekebilirsiniz.

4

diğer şeylerin yanı sıra Sorgularınızın sonuçlarını önbelleğe almak Zend Cache kullanabilirsiniz.

0

Ben tam sayfa önbelleğe alma rotayı öneriyoruz. Bazı veriler değişirse, dinamik verilere yerine sadece jeton/yer tutucu yerleştirin. Sayfanın tamamını bu jetonlarla yerinde önbelleğe alın ve ardından belirteçleri için önbelleğe alınmış veriler için belirteçleri gönderin. Böylece artık dinamik içerik içeren önbelleğe alınmış bir sayfanız var.

İlgili konular