V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
canzyp
V2EX  ›  PHP

如果用 swoole 等框架,并使用了 pdo 的持久连接,大家是怎么处理锁的问题的

  •  
  •   canzyp · 2018-09-28 16:10:57 +08:00 · 2022 次点击
    这是一个创建于 2252 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果用 swoole 等框架(或者其它场景),并使用了 pdo 的持久连接,大家是怎么处理以下这个问题的:


    Warning
    在使用持久连接时还有一些特别的问题需要注意。例如在持久连接中使用数据表锁时,如果脚本不管什么原因无法释放该数据表锁,其随后使用相同连接的脚本将会被持久的阻塞,使得需要重新启动 httpd 服务或者数据库服务。另外,在使用事务处理时,如果脚本在事务阻塞产生前结束,则该阻塞也会影响到使用相同连接的下一个脚本。不管在什么情况下,都可以通过使用 register_shutdown_function() 函数来注册一个简单的清理函数来打开数据表锁,或者回滚事务。或者更好的处理方法,是不在使用数据表锁或者事务处理的脚本中使用持久连接,这可以从根本上解决这个问题(当然还可以在其它地方使用持久连接)。


    http://php.net/manual/zh/features.persistent-connections.php
    1 条回复    2018-09-28 17:33:52 +08:00
    functions
        1
    functions  
       2018-09-28 17:33:52 +08:00
    脚本处理失败总会有异常抛出吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3213 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 13:10 · PVG 21:10 · LAX 05:10 · JFK 08:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.