redis实现mysql锁的方法
redis实现mysql锁的方法
$config = array( 'host' => 'localhost', 'port' => 6379, 'index' => 0, 'auth' => '3213', 'timeout' => 1, 'reserved' => null, 'retry_interval' => 100, ); $redislock = new \redislock($config); $key = 'fwefwe'; while (1) { $is_lock = $redislock->lock($key, 2); //如果已经抢占锁了 可以继续往下执行 if ($is_lock) { break; } usleep(500000); } $data = array('info1' => '啦2啦', 'info2' => '啦啦啦22啦啦啦'); $isok = $this->commoninsertinfo($data, 'mobantestinfo1'); $redislock->unlock($key); echo '执行成功'; exit();
不用担心mysql出现死锁 缓存穿透也可以采取这个方案 只保证1个执行
如果遇到什么不懂的地方直接关注公众号留言(本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。)
作者:newmiracle
出处:https://www.cnblogs.com/newmiracle/