php ob_gzhandler ile memcache gzip'li içerik

3 Cevap php

Geçenlerde şeyler gerçekten basit tutar php ob_gzhandler fonksiyonu ile benim içeriğin Gzip Sıkıştırma uygulanmaktadır.

Şimdi benim memcache bu içerik eklemek için çalışıyorum, ve de bunu yapmak için basit bir yol olduğunu umuyordum, ama bu yerine getirmeye hakkında online bir şey bulmak mümkün olmamıştır.

Ben sadece bir değişkene yapıldı veri depolamak için geçmişte memcache kullandım, ama ob_gzhandler ile, ben de veri ile bir değişken yok. Bu yüzden ne yazık ki hatta nerede bu başlangıç ​​için bilmiyorum.

Thanks Pete

-----Edit for more information------------------------- As Cody commented below, apparently my question was/is vague. Sorry about that, I'm trying to give as much info as possible, but am really a bit lost in this process.

Ben memcache önce kullanmış olduğunuz zaman veri url isteği bir hash dayalı memcache varsa, ben kontrol. Bir maç olsaydı, ben önbelleğe alınan verileri yakaladı. Eğer değilse, o zaman ben sayfa yapmak istiyorum ve bunu önbellekte saklamak.

Şimdi aynı şeyi yapmaya çalışıyor, ama php ob_gzhandler kullanarak gzip'li verilerle ediyorum.

Ciaran belirttiği gibi, sadece non-gzip'li veri depolama hit almak daha mantıklı olabilir.

O yüzden önbellekte daha fazla mağaza, ve hemen hemen tüm tarayıcılar uyumlu gziplemek değildir ki hem daha küçük olduğu gibi, aynı zamanda, bu gzip'li versiyonunu saklamak için daha iyi olurdu?

3 Cevap

Eğer bir önbelleğini sorgular bazı kod var pasif bir önbellek, hakkında soruyorsun gibi geliyor, ve bir önbellek üzerine, bu verileri üretir önbelleğinizde ekler ve sonra döndürür. Hikayenin kısa kod her zaman veri bir yığın dönecektir, ancak hesaplayarak veya önbelleği vurarak döndürür olsun, iyi, Aranan kod umursamıyor olmasıdır.

Bu doğru mudur?

Sonuçta, soru muğlak ve yeterli bilgi içermiyor.

ob_gzhandler (), istemci BrowZer gzip desteği bağlı olarak, bir dize ya da false döndüren söndürülmesi veya hiçbir kodlama olacaktır. Muhtemelen ob_start () veya benzeri yoluyla bu işlevi kullanarak ediyoruz.

Sonuç başına istemci farklı olduğundan, bazı durumlarda bir olacak, yani bazı durumlarda FALSE olacak (sonucu deneyin ve önbelleğe için harika bir fikir değil 'deflate' kodlanmış cevap ve diğerlerinde' ) bir 'gzip' kodlanmış cevap olacak.

Pratikte bu çok büyük bir havai olmamalı - Bu gzip'li ediliyor içeriği önbelleğe daha mantıklı ve yeniden sıkıştırılmış her istekleri olma 'hit' alacak gibi görünüyor.

Büyüklüğüne bağlı olarak (50K yararlıdır sıkıştırarak, 5 byte, çok değil) - sadece depoya aktarılan bayt sayısını azaltarak hakkında ise, memcache gönderilmeden önce verileri sıkıştırabilir müşterilerine bir dizi vardır. @ Ciaran dediği gibi, havai sonra nihai teslimat için yeniden sıkıştırmak için - gerekirse - çok değil.