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

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

  •  
  •   canzyp · 2018-09-28 16:10:57 +08:00 · 974 次点击
    这是一个创建于 412 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果用 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
        1
    functions   2018-09-28 17:33:52 +08:00
    脚本处理失败总会有异常抛出吧
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1025 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 19:38 · PVG 03:38 · LAX 11:38 · JFK 14:38
    ♥ Do have faith in what you're doing.