php之session文件回收

说到php的session,这是每个php开发者都需要掌握的必备内容。当然了,架构师和运维工程师也需要了解这个内容。有时候配置不当的session文件回收参数,可以导致php运行缓慢,因为大部分时间都是在海量session文件中寻找当前会话id的session文件。

涉及session文件回收的参数有3个,如下

session.gc_probability= 1
session.gc_divisor= 1000
session.gc_maxlifetime= 1440

各参数的意思是
session.gc_probability 是垃圾session文件回收的概率
session.gc_divisor 是除数
session.gc_maxlifetime 是垃圾session文件的最大有效期(单位:秒)

总的意思是:
在每次session初始化 (如session_start()) 时都会按照指定的概率进行垃圾session文件回收,概率是这么计算的:
session.gc_probability/ session.gc_divisor
我这里默认概率是 1/1000 ,意味着每1000次请求才会执行一次回收,那么回收规则是什么呢?
回收规则就是session文件创建时间大于 session.gc_maxlifetime的文件,这里的回收就是删除的意思。

上面3个参数用通俗的话说就是:每1000次含session_start()的请求都会执行一次删除session文件创建时间大于1440秒的操作。

你可能感兴趣的:(PHP,GC,session,垃圾回收,php运行缓慢)