- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现在我正在开发的 Java 应用程序中使用了 MariaDB 的 GET_LOCK('lockname', 0)
。
这里超时值设为0。我想它应该以非阻塞方式工作。但是,在日志文件中出现一些异常后,我的印象是它仍在尝试使用默认超时时间获取锁定。在 GET_LOCK
调用之前应用 IS_FREE_LOCK('lockname')
调用可以使应用程序顺利运行。
我的问题是,这里使用0作为超时值有什么影响?
最佳答案
你确定超时了吗?我无法从命令行重现该问题:
第 1 节:
MariaDB [(none)]> SELECT GET_LOCK('lock1', 10);
+-----------------------+
| GET_LOCK('lock1', 10) |
+-----------------------+
| 1 |
+-----------------------+
1 row in set (0.000 sec)
第二节:
MariaDB [(none)]> SELECT GET_LOCK('lock1', 0.5);
+------------------------+
| GET_LOCK('lock1', 0.5) |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.500 sec)
MariaDB [(none)]> SELECT GET_LOCK('lock1', 0);
+----------------------+
| GET_LOCK('lock1', 0) |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.000 sec)
关于mysql - MariaDB/MySQL 的 GET_LOCK (‘lockname’ , 0) 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875439/
谁能分享一下GET_LOCK函数的使用实例? 示例函数: mysql> SELECT GET_LOCK('b',10); +------------------+ | GET_LOCK('b',10)
MySQL 版本 = 5.7.16 我需要自动处理数据库中的一些数据行。我有一个表的主键队列,以及应该协同工作的三段代码: 每十秒触发一次的事件,调用: 一个控制程序,它从队列表中选择单独的行,并将它
我需要一个数据库级别的同步。为此,我使用 GET_LOCK('prefix.some_id', 0)。在某些时刻,GET_LOCK 在不同主机上的不同脚本中为相同的 key 返回 1。可能是什么问题呢
使用 mysql 数据库在 node.js 中编写 API,我正在实现一个相当标准的模式: If exists then update else insert 这当然可以正常工作,直到同时向 api
这可能是一个非常愚蠢的问题,但我只是想知道如果你为 MySQL 设置自动提交,然后尝试获取锁,你是否必须在获取锁后提交才能保留锁? $mysqli->autocommit(FALSE); $q = '
我正在尝试使用 MariaDB 10.0.19 的 GET_LOCK() 功能来实现一个系统,该系统将事件调度程序运行的事件限制为一次只能运行一个。本质上,每个事件都会尝试获取“run_lock”,如
一个 mysql 服务器可以处理多少 GET_LOCKS - 整个服务器。我无法找到有关其局限性的任何信息。 最佳答案 根据 MySQL 文档 GET_LOCK()每个连接不能持有多个锁。 如上所说
有没有办法选择/显示所有当前使用GET_LOCK function 取出的锁? ? 请注意,GET_LOCK 锁不同于表锁,就像那些通过 LOCK TABLES 获得的锁一样 - 想知道如何查看那些的
MySQL的GET_LOCK(str,timeout)函数可用于实现应用程序锁或模拟记录锁。 如果我想等待无限秒,如何调用GET_LOCK? GET_LOCK('lock_name', -1) 有效吗
MySQL 中的 GET_LOCK() 接受负超时值,并解释为无限超时。 MySQL 文档: GET_LOCK() Tries to obtain a lock with a name given b
我的应用程序使用 Hibernate 作为 ORM。我正在尝试在我的应用程序中执行一些 mysql 锁定功能,例如 GET_LOCK、IS_FREE_LOCK、RELEASE_LOCK ( https
我发现在我正在开发的 Java 应用程序中使用了 MariaDB 的 GET_LOCK('lockname', 0)。 这里超时值设为0。我想它应该以非阻塞方式工作。但是,在日志文件中出现一些异常后,
场景很简单。我们有一个 PHP 脚本: 执行 MySQL 查询 GET_LOCK('TEST', 0) 睡了 5 秒 执行 MySQL 查询 RELEASE_LOCK('TEST') 打开网络浏览器并
我有自己的库 mylib,它使用 Boost 序列化库并动态链接它。现在我想将我的库链接到另一个代码 - 命令如下所示: /usr/bin/g++-8 -Wall -g -rdynamic CM
我是一名优秀的程序员,十分优秀!