多个客户端接入时,laravel数据库日志静态缓存问题

q940318

问题描述

在使用webman时,如果A、B客户端同时发起请求,接口分别对应生成SQL_A1、SQL_A2和SQL_B1、SQL_B2每个请求生成2条SQL
现在我需要分别记录两个请求的SQL日志,A客户端的日志记录SQL_A1、SQL_A2,B客户端记录SQL_B1、SQL_B2
使用的是laravel orm,获取SQL的方法是在每个数据库操作后面执行下面的代码获取最后一行执行的SQL(因为有其他的业务,所以获取SQL的方案只能是在执行之后获取当前执行的SQL)
$queryLog = Db::getQueryLog();
$log = end($queryLog);
那么在A、B同时并发时,会不会出现记录到A请求的SQL日志为 SQL_A1、SQL_B1这种错误的情况
如果会出现,能否避免这种情况发生,或者只能更换其他orm框架替代获取最后执行的SQL的方案,还是有其他更好的解决方案
请大佬指点一下

491 1 0
1个回答

walkor 打赏

目前webman机制请求是顺序处理的,不会有并发的情况,不会出现你说的问题

年代过于久远,无法发表回答
×
🔝