ASP.NET veya PHP: kullanım durumu bilgileri depolamak için yararlı Memcached mı?

2 Cevap php

Bu soru bir web geliştirici olarak benim cehalet maruz olabilir, ama bu tam bana şimdi it would için kötü bir şey olmaz?

Ben kullanıcı durum bilgilerini saklamak için ihtiyaç var. Ben kullanıcı başına saklamak için gereken bilgi örnekleri. (: Doğrulanmamış ziyaretçi kullanıcıyı tanımlamak)

  1. Kullanıcı google / bing / yahoo dan siteye geldi
  2. Kullanıcı arama özelliği kullanılabilir (doğru / yanlış)
  3. Geçerli ziyareti önceki ziyaret ürün sayfaların listesi

Ben görünümü devlet bu saklamak benim anlayış olduğunu, ancak non-görüntülenebilir bilgilerin önemli bir miktarda olsa ve son kullanıcılardan gelen transfer ediliyor çünkü son kullanıcı perspektifinden sayfa yük ile bir soruna neden olur sunucu bilgi ihtiyaçlarını tek tarafı.

Benzer bir not, bu oturum durumu gibi bilgileri saklamak için kullanılabilir olması benim anlayış olduğunu, ama bu da kullanıcıya transfer ve çerez depolanan aynı bilgileri neden yok? (Oldukça viewstate kadar kötü değil, ama ideal gelmiyor).

Bu bir sunucu yalnızca oturum depolama sistemi veya bir mem-önbelleğe alma çözüm ya bana bırakır.

Sadece iyi seçenek burada memcached mı?

2 Cevap

Öğeler 1 ve 2 günlük bilgileri gibi görünüyor - kendi arama terimleri tutmak istediğiniz sürece, yani onları geri başvurmak için hiçbir belirgin gereklilik var. Dolayısıyla, sadece bir yere bir günlüğüne yazmak ve onu unutun?

Ben görünümü devlet bu saklamak olabilir

Kesinlikle benim için bir şey ifade etmiyor, bu yüzden yorum yapamam - Ben bir asp.net şey tahmin ediyorum.

Bu oturum durumu gibi bilgileri saklamak için kullanılabilir olması benim anlayış

Evet - 3. madde için tercih arşivim olurdu.

bu da kullanıcıya aktarılır ve kendi tanımlama depolanmadan aynı bilgileri ile sonuçlanmaz?

Hayır - Bir oturum çerezi sadece PHP sunucu tarafında saklanan veriler için bir kolu (ve ben geldim her HTTP sesion imlpementation) 'dir.

Bu bir sunucu yalnızca oturum depolama sistemi veya bir mem-önbelleğe alma çözüm ya beni bırakır

memcache sadece gerçekten herhangi bir şekilde kullanılması as bir oturum saklama tabakadır.

Eğer oturum depolama alt tabaka olarak memcache kullanması gerekip gerekmediğini .... tek bir sunucu üzerinde, avantajı burada bir sürü var değil - NT (IIRC) sabit bir boyutu önbelleklerini / tamponlar kullanır rağmen (Posix'e / Unix / Linux tüm kullanılabilir belleği kullanacak ise ) Ben hala sitenizin aşırı sürece en oturumu G / Ç hafızasının yerine diske olmasını beklersiniz. Bir küme çalıştırıyorsanız eğer gerçek bir avantajdır (ama bu senaryoda Cassandra'ya gibi bir şey düşünebilirsiniz).

IME, seanslar, bir oturumda bir faaliyet belirsiz geçmişini tutmak istiyorsanız, ancak, daha sonra verileri taşma (veya ayrı tutmak) çok büyük almak önlemek için seans gerekir, bir havai büyük değildir.

C.

Memcached okuma genellikle / yazma nadiren anahtar / değer veri için iyidir, adından da anlaşılacağı gibi bir önbellek. örneğin Eğer yarı statik veri için tekrar tekrar veritabanı sorgulama değil yani memcached saklamak nadiren değişir Ürün bilgisi kadar hizmet varsa. Size bilgi depolamak için oturum durumunu kullanmalısınız, sağa sola geçti ve edilecek tek şey sunucuda kalır oturum kimliği değil, gerçek veri vardır.