session改为memcache存储,竟然还是存在锁死的问题,求解

finemi 2015-04-10 08:17:47
最开始我是自定义了一个MemSession类来使用session_set_save_handler()自定义session处理器为memcache,使用上一直没问题,结果当我用到长轮训时,才发现特么的还是锁死了!
然后我又试着直接在php.ini文件中直接配置session.save_handler = memcache.......的方式,还是一样。
我就没搞懂了!按理说根本就不是文件存储方式,也就不存在文件锁定机制了呀!为什么还是会锁死,不能并发?
...全文
154 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
码无边 2015-04-10
  • 打赏
  • 举报
回复
session_start() 之前不能有输出
finemi 2015-04-10
  • 打赏
  • 举报
回复
终于发现问题了! 原来另外一个地方重写session后,之前长轮训的地方并不会主动更新,而要不断的session_start()和session_write_close()才行。。。 并且还有奇怪的问题,session_start()写在我的memHandler里面就没效果,即使不断session_start()和close()都不行,而全部写在外面就可以~
finemi 2015-04-10
  • 打赏
  • 举报
回复
我发现好像没有锁死,其他页面能够立刻写入,但是一直长轮训读取的页面确无法立刻获取最新数据的session
傲雪星枫 2015-04-10
  • 打赏
  • 举报
回复
session_write_close()後需要session_start();才可以再寫入session的。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧