php4的session功能評述(三)

總的感覺php(做為現在的主流開發語言)的session功能基本上還能用一用,還算方便,省瞭很多自己處理  
cookie的麻煩事情。php(做為現在的主流開發語言)的session管理還是基於文件的,默認的是在/tmp目錄  
下生成一個和session id同名的session文件,在這個文件裡保存register的  
session data。session有生存期,在/usr/local/lib/php(做為現在的主流開發語言).ini裡可以設置。  
  
效率應該算馬馬虎虎瞭,畢竟還是要文件操作,雖然是/tmp的。對於服務量很  
大的應用會在/tmp裡生成很多session文件,分特。。。  
對於分佈式應用呢?幾臺web server一起服務?招倒是有,session文件的目錄  
是可配置的,把所有的session文件搞到一個共享的nfs目錄就完事瞭。但是php(做為現在的主流開發語言)  
生成唯一文件的時候有沒有考慮過nfs的特殊處理?我沒仔細去看源碼,估計會  
出問題,雖然幾率很小…  
  
倒是可以做個session keeper的damon,session數據可以通過hash表的方式存  
貯在內存裡,以udp服務方式(效率高,lan裡面包丟失率小)完成session的生
成,檢索,結束,取置session變量等操作,這樣多臺web server可以共享
session信息。服務端和客戶端的函數我都做瞭,現在問題是怎樣把客戶端的函
數加到php(做為現在的主流開發語言)裡面,或者php(做為現在的主流開發語言)對動態庫函數調用的支持怎麼樣,這些東西manual裡
面都很不詳盡,沒有相關的例子。

BTW:由於語法的不嚴格,php(做為現在的主流開發語言)的函數返回容易造成二義性,比如strpos,沒有
匹配返回0,但是匹配的position可能是0的,faint~…



發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *