2008-03-28

全局变量往哪儿放?

关键字: rails 悲观锁
Rails有乐观锁悲观锁,但是悲观锁它不支持整个table的锁啊
好吧,那就SQL吧:
ActiveRecord::Base.connection.execute("LOCK TABLE XXX WRITE")
ActiveRecord::Base.connection.execute("UNLOCK TABLES")

在Console下试了试,不同进程,可以锁!同步了!
但是,在fastCGI下就是锁不住!

搞一个全局变量,很可行!
ActiveRecord::Base.connection.execute("select get_lock('lock_xxx', 100)")
ActiveRecord::Base.connection.execute("select release_lock('lock_xxx')")

命名lock很好很强大,MySQL里的全局变量啊~,比Lock整个table灵活且性能强大多了
评论
发表评论

您还没有登录,请登录后发表评论

hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论