Database sharedLock()和lockForUpdate()之间的哪一个允许在另一个更新发生时读取数据库而不更新数据库?

Database sharedLock()和lockForUpdate()之间的哪一个允许在另一个更新发生时读取数据库而不更新数据库?,database,laravel,Database,Laravel,我有两个方法以这种方式运行:方法一接收请求,从请求中提取用户,并检查数据库中是否存在用户。如果用户存在,它将调用更新用户数据的方法2。由于许多请求是同时发送的,所以在执行更新时我必须锁定表。但是,这可能会阻止传入请求读取用户数据。因此,我想知道在sharedLock()和lockForUpdate()之间,哪一个允许我在一个请求更新表时阻止更新数据库,但允许其他请求从数据库读取用户信息

我有两个方法以这种方式运行:方法一接收请求,从请求中提取用户,并检查数据库中是否存在用户。如果用户存在,它将调用更新用户数据的方法2。由于许多请求是同时发送的,所以在执行更新时我必须锁定表。但是,这可能会阻止传入请求读取用户数据。因此,我想知道在
sharedLock()
lockForUpdate()
之间,哪一个允许我在一个请求更新表时阻止更新数据库,但允许其他请求从数据库读取用户信息