【session相关】

1、session介绍

        session,保存的是对象,存放在服务端,它通过sessionId来区分不同的客户端,sessionId是保存在客户端的(也就是cookier中),作为客户端与服务器的验证标识,它是一个24位的随机字符串,用户提交页面时,浏览器会把sessionId包含在HTTP头中提交给web服务器。

2、session使用

        session_start();

        每执行一次session_start(),就会生成一个新的session文件,但文件中内容为空。

        赋值:$_SESSION['user'] = 'Tom';

        删除:

                session_destroy();     

                unset($_SESSION['id'])   只能删除单个session值,不能通过unset($_SESSION)删除所有的session。

        上面的另种删除方式,只能删除session文件,也就是服务器上的session值,并未删除浏览器上的cookier。需要通过下面的方式删除:

        setcookie(session_name(),'',time()-1,'/')   可以通过设置的时间戳小于当前的时间戳来删除cookie变量。

3、session值存储介绍

        查看所有的session,可以查看session所在的文件夹,读取该文件夹中的文件。

        文件中的内容就是session的值,比如:user|s:5:"Tom";id|i:100

        意思是里面有两个session内容,user=Tom与id=100,

        user|s:3:"Tom" s表示为string类型,长度为3;i表示为int类型。

4、php.ini一些关于session的一些设置

        session.auto_start = 0; 如果设置为1,代码中不再需要写session_start();

        session.cookier_lifetime = 604800 session有效期

        session.cookier_path = / 表示session可以在整个网站下使用,如果改为 /temp/ 则表示 session只在temp文件夹下有效

5、session一些性能问题(垃圾回收机制)

        session一般存储的是登录信息,但是用户一般不会正常退出,也就不会执行session销毁的程序,这样会导致session文件越来越多。而服务器一般会对文件的个数有限制 ,超出后会导致系统出错,因此session有内部的垃圾回收机制。

        session.gc_probability

        session.gc_divisor

        session.gc_maxlifetime

        session.gc_divisor 与 session.gc_probability 合起来定义了在每个会话初始化时启动gc(garbage collection 垃圾回收)进程的概率。此概率用 gc_probability/gc_divisor 计算得来。例如 1/100 意味着在每个请求中有 1% 的概率启动 gc 进程。

        session.gc_maxlifetime=30,session.gc_divisor=1000,session.gc_probability=1,就表示每一千个用户调用session_start()的时候,就百分百的会执行一次垃圾回收机制,将磁盘上没用的session文件删除。当session文件在30s后还没有被访问的话,则该session文件将会被视为“垃圾文件”,并且等待gc(垃圾回收)进程的调用的时候被清理掉。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值