GatewayWorker session丢失问题

GatewayWorker session数据总是会丢失,可能在异步消息的处理上有些问题。
已邀请:

walkor

赞同来自: danielzhao

GatewayWorker的session不会丢失。但是因为session是异步存储到gateway的,如果某个客户端快速发送请求AB的话,A请求设置的session还没有成功写入gateway,这时候就处理B请求,那么A设置的session可能会读取不到。这种情况可以用Gateway::getSession来解决。

你看下你的场景是不是这个问题。

danielzhao

赞同来自:

谢谢您的回答,应该就是这个问题.您的意思是,使用session时,用getSession获取最新数据,如果有更改,就立刻使用updateSession对session进行更新?其实我觉得系统如果禁止使用$_SESSION更好一点,直接使用session函数来操作,安全可靠。
我这边准备使用memcache做session处理,这样会不会更好一点呢。

walkor

赞同来自:

不用UpdateSession。
使用session前执行

$_SESSION = Gateway::getSession($client_id);

要回复问题请先登录注册