SESSION 回收机制
session.gc_maxlifetime
session.gc_probability??
session.gc_divisor?
session.gc_divisor 與 session.gc_probability 合起來定義了在每個會話初始化時啟動 gc(garbage collection 垃圾回收)進程的概率。此概率用 gc_probability/gc_divisor 計算得來。例如 1/100 意味著在每個請求中有 1% 的概率啟動 gc 進程。session.gc_divisor 默認為 100。
比如:session.gc_maxlifetime=30,session.gc_divisor=1000,session.gc_probability=1,就表示每一千個用戶調用session_start()的時候,就百分百的會執行一次垃圾回收機制,將磁盤上沒用的session文件刪除。
注意:一般對于一些大型的門戶網站,建議將session.gc_divisor調大一點,減少開銷
接下來,我通過一個例子演示下,如何配置才能讓調用gc(垃圾回收)進程呢!
通過配置php.ini文件,修改以下幾個信息:
因為gc進程被調用的概率是通過gc_probability/gc_divisor 計算得來的,這里我將session.gc_probability改成1000,而session.gc_divisor 默認情況下也是1000。則gc進程在每次執行session_start()函數的時候都會被調用到。
以下我通過截圖簡單的說明下:
我開啟三個會話,則創建三個對應的session文件,當每個文件在30秒內都沒被調用的話,就會被當成是“垃圾文件”,等到gc進程調用的時候,“垃圾文件”就會被unlink,因為之前我已經通過修改php.ini配置文件,將gc被調用的概率改成百分百,所以接下來,如果我重新使用任何一個瀏覽器刷新下頁面的時候,三個session文件,應該只剩下一個了
轉載于:https://www.cnblogs.com/tlijian/archive/2012/12/25/2832275.html
總結
以上是生活随笔為你收集整理的SESSION 回收机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web服务器的简单实现——HTTP权威指
- 下一篇: 31 socket客户端. 服务器