PHP 解决session死锁的方法


Posted in PHP onJune 20, 2013

今天在开发碰到个棘手的问题 。
当异步请求后台处理一个大数据量操作时  请求其他控制器都没返回信息了。。起初以为是Ext 框架设置了ajax同步造成的。
后来发现时session 死锁造成其他控制器在等待session 完成后才能操作。(主要是用户登录判断需要更新session)
当PHP 处理大数据量操作时 不能及时操作完成 这时候又有访问其他控制器或者
异步请求时候会造成session 死锁现象
和同事探讨了下 可使用 session_write_close() 解决此问题

Description
void session_write_close ( void )
End the current session and store session data.
Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.

功能: 结束当前的session 操作 保存session 数据 
说的很明白了, 当脚本请求没有调用session_write_close(); 时虽然 session  的数据是存储住了。但是 session Date(也就是session 文件) 是锁住状态
是为了避免 其他应用此时操作session 造成不必要后果   当使用框架时 不同文件可能会不停地操作session 为了不造成其他操作对当前session 的死锁等待
可使用此函数...
PHP 相关文章推荐
PHP 和 MySQL 基础教程(三)
Oct 09 PHP
php url地址栏传中文乱码解决方法集合
Jun 25 PHP
PHP之COOKIE支持详解
Sep 20 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
php cli配置文件问题分析
Oct 15 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
Laravel 读取 config 下的数据方法
Oct 13 PHP
解析PHP可变函数的经典用法
Jun 20 #PHP
使用PHP求两个文件的相对路径
Jun 20 #PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 #PHP
解析thinkphp中的导入文件标签
Jun 20 #PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 #PHP
解析用PHP实现var_export的详细介绍
Jun 20 #PHP
PHP 实现explort() 功能的详解
Jun 20 #PHP
You might like
如何在PHP中进行身份认证
2006/10/09 PHP
PHP创建桌面快捷方式的实例代码
2014/02/17 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
jquery 批量上传图片实现代码
2010/01/28 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
纯jquery实现模仿淘宝购物车结算
2015/08/20 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
Python实现图片尺寸缩放脚本
2018/03/10 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
CK美国官网:Calvin Klein
2016/08/26 全球购物
澳大利亚领先的美容护肤品零售商之一:SkincareStore
2018/01/22 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
学习十八大精神心得体会
2013/12/31 职场文书
行政文员岗位职责
2015/02/04 职场文书
新闻稿标题
2015/07/18 职场文书
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL