好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

解决memcache中使用session_start启动慢 - php高级应用

解决memcache中使用session_start启动慢

session_start启动慢是自己的机器使用了memcache来缓存session了,这样发现用户登录之后mysql查询超级慢了,下面我来介绍一个临时的解决办法.

下面是我们的测试页面,就几句,代码如下:

<?php  session_start();  echo   '111' ; exit   ?> 

CPU,IO,磁盘,内存……这些没问题的,都有排查过,刚开始以为网络问题、被墙、过滤、内存……问题,最后确定都不是.应该不是硬件资源问题了.

现在用额外加段代码能解决这问题,治标不治本,还没找到是什么原因导致session_start启动慢,先自动创建一PHPSESSID,不用session_start自动分配的,代码如下:

if (!isset( $_COOKIE [ 'PHPSESSID' ]))  {          setcookie( 'PHPSESSID' , time(), time()+60*60,  '/'  );          header( 'location:index.php' );           exit ;  } 

最后的样子如下:

<?php if (!isset( $_COOKIE [ 'zenid' ]) &&  $_SERVER [ 'HTTP_USER_AGENT' ]!= 'UDROBOT' ) //开源代码phpfensi测试数据   {          setcookie( 'zenid' , md5(md5(time().rand(999,1000)).rand(999,1000)), time()+60*60,  '/'  );          header( 'location:' . $_SERVER [ 'REQUEST_URI' ]);           exit ;  } .....  ?> 

查看更多关于解决memcache中使用session_start启动慢 - php高级应用的详细内容...

  阅读:43次