MySQL-共享锁函数
get_lock(str,timeout)
作用:获取共享锁
str是应用程序通信双方协商好的一个字符串
timeout是等待该锁的超时时间
如果能在timeout时间内获取到锁,则返回1;如果在timeout时间后仍然获取不到锁,则返回0;如果发生错误,则返回null
如果客户端同时通过get_lock获取锁,则他们的先后顺序不可知
释放锁的方式
- 执行release_lock()
- 执行新的get_lock()
- mysql连接释放
release_lock(str)
作用:释放名为str的共享锁
如果锁被成功释放,返回1;如果这个进程没有占有该锁,则返回0;如果这个名为str的锁不存在,则返回null
is_used_lock(str)
作用:检查名为str的锁是否在使用(被锁)
如果被锁,则返回拥有该锁的客户端标识,否则返回null
使用CONNECTION_ID()函数获取当前客户端标识
is_free_lock(str)
作用:检查名为str的锁是否可用(没有被锁)
如果可用则返回1;如果在使用则返回0;如果有错误则返回null