(PHP) memcache bağlanmak :: seçebilir veya memcache :: pconnect?

6 Cevap php

Ben bir yerel memcached sunucusu (@ 127.0.0.1) bağlamak için php :: memcache modülü kullanıyorum ama ben memcache :: connect, ben kullanmak hangi biri olduğunu biliyorum () veya memcache :: pconnect değil mi? Memcache :: pconnect server birçok kaynak tüketir mi?

Cevabınız için çok teşekkür ederim!

6 Cevap

Memcached bir TCP bağlantısı (el sıkışma kapanış genellikle 4 paketlerini, 3 ekstra paketlerini) kullanır ve gerektirmez any authentication. Bu nedenle, kalıcı bir bağlantı kullanarak sadece baş bu ekstra 7 paketlerini göndermek ve bir kaç saniye için bir leftover TIME-WAIT noktası olması konusunda endişelenmenize gerek yok gerek kalmamasıdır.

Ne yazık ki, bu kaynakları feda olumsuz küçük upsides daha büyüktür. Yani memcached kalıcı bağlantıları kullanarak tavsiye etmiyoruz.

pconnect persistan bağlantı anlamına gelir. Mevcut bağlantıları daha bir eksikliği - Bu, istemci (sizin durumunuzda komut dosyası) sürekli çeşitli kaynaklar sorun olmayabilir sunucuya açık bir bağlantısı var demektir.

Eğer persistan bağlantılarını kullanmak gerekir biliyorum sürece muhtemelen connect standardı isteyen olmalıdır.

De memcached uygulamak MySQL bağlarken düzenli bağlantıları vs kalıcı yöneten bildiğim kadarıyla, aynı rules söyledi. Sonuçta muhtemelen iki durumda da kalıcı bağlantılarını kullanmak gerekir, olduğunu.

"Tüketir" TCP portu.

Bir sunucu memcache bir bağlantı tutar - uygulamasında Ben bağlantı havuzu kullanır gibi pconnect kullanımı ve donanım görünümünden geliştiriyorum. Ben tam olarak nasıl çalıştığını bilmiyorum ama ben memcached memcached istemci makinenin IP izlemek için yeterince akıllı olduğunu düşünüyorum.

Ben uzun bir süre için memcached ile oynanan ve memcache :: getStatus kullanırken pconnect kullanırken bağlantıları sayısı artış olmadığını gösteriyor bulduk.

Sen ayıklama sayfa memcached istatistikleri göstermek hangi kullanmak ve pconnect çimdik ya da bağlamak ve neler olup bittiğini görmek için deneyebilirsiniz.

Tek dezavantajı, bir veya ısrarla bağlı memcached cinleri tüm (es) kaybolmak eğer PHP hiçbir bariz bir hata veya uyarı alır olmasıdır. Bu oldukça lanetlemek büyük bir dezavantajı bulunuyor.