canzyp
V2EX  ›  PHP

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

  •  
  •   canzyp · Sep 28, 2018 · 2665 views
    This topic created in 2809 days ago, the information mentioned may be changed or developed.
    如果用 swoole 等框架(或者其它场景),并使用了 pdo 的持久连接,大家是怎么处理以下这个问题的:


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


    http://php.net/manual/zh/features.persistent-connections.php
    1 replies    2018-09-28 17:33:52 +08:00
    functions
        1
    functions  
       Sep 28, 2018
    脚本处理失败总会有异常抛出吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2827 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:07 · PVG 18:07 · LAX 03:07 · JFK 06:07
    ♥ Do have faith in what you're doing.