2009-12-24 43 views
1

我目前使用的會話相當繁重,現在我正在對網站進行重新編碼。我所做的一件事就是創建一個具有一些簡單方法的會話類,例如,我將如何使用我的類來檢索會話數據。如果我不需要,我是否應該多次調用一個方法?

$session = new Session(); 

// to set a session I would use this 
echo $session->set('user_id'); 

// to view a session's data 
echo $session->get('user_id'); 

現在,這是basicly一樣的設置,除了我運行它通過這個會議一流的觀看會話變量的常規方式,其目的我是爲了使其更加靈活。我認爲,如果所有會話數據都在大網站上通過該類運行,那麼我只需將它的源代碼更改爲使用緩存或memcache,或者數據庫就是更改會話類文件。

因此,在現實中,我真的沒有太多的好處在我的會話數據中使用類/方法,但有一天我可能會這樣做。

我的問題是,在一個非常高的流量網站上,每次我需要顯示會話數據時,不要進行額外的方法/類調用會更好嗎?

回答

0

您正在使用的模式在幾個框架中有例子,其中之一就是我個人使用的框架Zend Framework。

有關優化的評論是正確的,您正在做的會話內容的性能下降很可能會非常微小,以至於最終無關緊要。有一個會話類可以爲您提供許多好處,而且會話對象的常見使用框架與通過函數進行簡單會話訪問相反,應該清楚地表明這一點。

問候,

1

不要過早優化。你可能會遇到效率低下或算法問題,一次只需花費幾秒鐘的時間,因此不用擔心在這裏或那裏節省一毫秒。

+2

有時我的女朋友指責我過早優化。 :) –

+0

我知道這通常是這種情況,我deff有更多的工作要做,但我一直在編碼這個網站,並優化它超過2年,每毫秒增加了高流量的環境。我目前正在對大部分工作進行重新編碼,但我聽說函數調用確實會損害性能,但我對使用類/方法很陌生,所以我不確定類的性能。感謝您的提示 – JasonDavis

0

你很好。您希望在請求生命週期內可以緩存的數據上使用靜態或其他一些持久變量,但通常在高性能網站上,後端代碼通常不是您必須擔心的事情。

請查看this article瞭解我對後端性能的看法。

相關問題