我在哪里可以使用' GET_LOCK'?

时间:2014-11-14 15:30:53

标签: mysql

谁可以分享使用GET_LOCK功能的实际例子?

示例功能:

mysql> SELECT GET_LOCK('b',10);
+------------------+
| GET_LOCK('b',10) |
+------------------+
|                1 |
+------------------+
1 row in set (0.00 sec)


mysql> SELECT IS_FREE_LOCK('b');
+-------------------+
| IS_FREE_LOCK('b') |
+-------------------+
|                 0 |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT RELEASE_LOCK('b');
+-------------------+
| RELEASE_LOCK('b') |
+-------------------+
|                 1 |
+-------------------+
1 row in set (0.00 sec)


mysql> SELECT IS_FREE_LOCK('b');
+-------------------+
| IS_FREE_LOCK('b') |
+-------------------+
|                 1 |
+-------------------+
1 row in set (0.00 sec)

谢谢。

2 个答案:

答案 0 :(得分:0)

资源锁定,例如在某些分布式系统中仅执行一次。

例如,下面是一个使用它的微型应用程序:https://github.com/karnauskas/mysql_lock

答案 1 :(得分:0)

实施分布式锁定,如this article中所述。

本质上,如果您需要限制对程序P1,P2,P3,...的某些资源X的访问,则每个程序都需要调用@Component export class sibling2{ faqDisplay: boolean; constructor( private service: sharedService, ) {} public ngOnInit() { this.service.faqDisplay$.subscribe((value) => { this.faqDisplay = value; }); } } ,而仅调用其中包含GET_LOCK("some-agreed-on-string")的程序响应继续。