oturumda fazla değişken depolama sonuçları nelerdir?

4 Cevap php

whats the performance issues when we are storing 2-3 extra variables in session?? for:

  1. (sayfa başına yükü) 1-2 sorguları kaydetmek için?

  2. Kod basit yapmak için?

Web isabet oranı normaldir ..

Edit @all I m talking about two three session variables...simple values like number,ids etc

4 Cevap

Every time a PHP script/page that uses sessions is accessed, the session data has to be read. By default, that data is stored on disk as files (you can override that and use a database, for example)

Yani, temelde, her sayfa için PHP ile (yazılı ve çok büyük olasılıkla,) oturumun bir miktar veri okumak gerekir yükleyin. Bir oturumda depolamak daha fazla veri, daha büyük oturum dosyaları olsun.

Yalnızca birkaç değişkenleri saklamak, hiçbir sorun yoktur. Eğer büyük diziler gibi bir şey saklamak başlar Ama eğer sorunlar sizin isabet oranı artar eğer içine edeceğiz.

-

Bir oturumda mümkün olduğunca çok veri depolayarak "kod basit tutmak" istiyorsanız, bunun yerine daha fazla sorun yaratabilir. Örneğin - Gelecekte API erişimini etkinleştirmek istesin, muhtemelen oturum veri depolama / alma bir sürü kod kaldırmak ve diğer yöntemler ile değiştirmek gerekecek.

-

Might be unrelated to your problem:

Bunu yeniden hesaplamak zorunda kalmamak bir oturumunda genel uygulama durumuna çeşit saklamak istiyorsanız, bunun yerine bazı oturumları önbellek diğer yöntemleri kullanmak gerekir.

Bir performans sorunu orada olmaz. Siz oturumda, nesneleri ve değişkenleri saklayabilirsiniz, ve bu performans bir kusuru çok yapmak olmaz.

Aslında, bu kendinizi biraz tasarruf sonuna kadar gidiyoruz gibi, sesler performans akıllıca. Bu değerler basit dizeler veya sayı, hatta küçük diziler veya nesneler varsa, bu sizin daha iyi bir seçenek olacaktır. Anahtar => değer çiftleri binlerce bir dizi tasarruf edilir, ancak, o zaman verilen durumlarda ihtiyacınız olacak bağlı olarak, sorguyu yeniden çalıştırmak için daha iyi olabilir.

Sadece yenilemek her zaman, size oturum değişkeni saklanan her nesnenin yapıcısı ateş olacak ki, unutmayın. Büyük nesneler = ağır yük.

Onun bu pratiklik daha bir performans soruya kadar değil. Eğer bir oturumda büyük diziler depolamak düşünmek olmaz ki sorunuzu okuyarak bana onun bariz.

Başka bir kullanıcı tarafından bazı eylem ne bir kullanıcı olabilir ve erişim edemeyeceğini gösteren bool değerlerden oluşan bir dizi, yani bir akım oturumda saklanan değerleri etkilemek için gerektiğinde sorun pratik olur. Bir oturumda önbelleğe sahip olanlar iptal etme izinleri pratik yapar.

Dizeleri ve değişmez olarak kabul edilir, ya da kolayca (yani kendi kullanıcı adını değiştirerek) geçerli kullanıcının bir eylem tarafından yeniden ayarlanabilir hangi değerleri saklamak önlemek için hiçbir neden yok.