问题标签 [handlersocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
342 浏览

php - 使用 HandlerSockets 时,我可以指定要从查询中接收哪些字段吗?

使用HandlerSockets时,我可以指定要从查询中接收哪些字段吗?

这是我的示例表

查询它的PHP代码如下

我所需要的只是sent_date因为我已经知道另外两个价值观。是否可以不再通过网络传输它们?

0 投票
1 回答
174 浏览

php - 当值太大时,php-handlersocket 结果被截断

我们的设置如下:

  • 主数据库服务器,运行 Percona 5.5.x 的 Amazon EC2 m2.xlarge 实例(17GB 内存,2x3.25ecu CPU)
  • 运行 PHP 5.4 的应用程序服务器、Amazon EC2 m1.large 实例(7.5GB 内存、2x2ecu CPU)
  • php-handlersocketPECL 库在这里http://code.google.com/p/php-handlersocket/

在大多数情况下,它可以工作,但是一旦我加载了具有相对流量的应用程序服务器,结果记录具有中等到大值字段的查询就会开始失败。在我们的例子中,两个主要的罪魁祸首是大约 5Kb 的 XML 字符串,以及存储为 5-500Kb 二进制对象的媒体文件。症状是如果我请求 10 个字段并且 XML 在第 8 个字段中,我将得到 7 个带有数据的结果,而第 8 个将是空的,根本不包括 9 和 10。

有一个与此类问题相关的 php-handlersocket 库的报告问题,但是还有一个建议的修复程序,我已经实施并且我认为它有所帮助,但似乎并不完全。问题详细信息和修复在这里http://code.google.com/p/php-handlersocket/issues/detail?id=28

我的 HandlerSocket 设置与默认设置略有不同,我应该设置这些不同吗?

我已将默认read线程数减少到 4,因为他们推荐 CORES * 2,默认值为 16。我认为较慢的响应总比没有好,但这似乎没有什么不同。

php-handlersocket项目看起来已经死了,这本身有点令人惊讶,最后一次源更新是一年多以前,但似乎没有任何其他 PHP 库可用,所以我被困住了。

我想知道是否有人遇到过类似的问题,是否有其他可用的库,或者我是否应该探索跳过库并使用 CURL 之类的东西创建自己的界面。

0 投票
2 回答
1146 浏览

php - PHP PDO - 不在循环中插入所有语句

让我们想象一下我们应该使用 PDO 在循环中插入大量行的情况。

这样,所有 100 行都不会插入到数据库中。第 23 行的 echo 将输出如下内容:

1 2 3 4 5 ... 59 60 61 61 61 61 61 61

第 20 行的 print_r 将输出

PDO 错误代码 00000 表示一切正常。并且没有行受到影响。如果我尝试手动插入 $result 为假的行 - 一切正常。

并且只有 61 行将插入到表中。每次脚本运行时,这个数字都在变化,这真的很奇怪

为什么?

以另一种方式 - 我们可以从所有插入查询中进行一个查询,并且将插入所有 100 行。这是带有代码的 pastebin的链接。

这是一个表结构:

顺便提一句。我使用带有 HandlerSocker 插件的 percona MySQL 服务器(5.5)。我尝试使用 HandlerSocket 插入行。这是一个代码

我在此之后 - 我在数据库中有 ~ 14000 行。为什么?另外,如果我更改循环数(变量$loops_number)-

我的 MySQL 服务器似乎有问题?

0 投票
1 回答
60 浏览

php - 在 HandlerSocket 上基于原始套接字的查询中表示 NULL 键值的正确方法

我编写了一个基于轻量级套接字的 HandlerSocket 查询系统,它运行良好....缺少这个小问题....

我在数据库中有一个表,其unique索引包含 5 个关键部分:

都是字符串,前 4 列是必需的,最后 (Site_ID) 不是 AND 它可能是NULL。简要说明是所有站点共享具有 的记录Site_ID = NULL,但是每个站点都可以用它自己的一条记录覆盖默认记录,并提供它们的特定记录Site_ID

我的 Sockets 查询准备请求,如下所示:

因此,当提供所有 5 列部分和键值时,它可以工作,当提供前 4 列和前 4 个键值时,它可以工作,但是当使用所有 5 列和它们对应的第 5 列的键值NULL时,它什么也不返回我知道事实上有些记录与前 4 个匹配并且有一个NULLSite_ID。

我必须能够使用第三种情况,因为我需要确保它与任何定义了 Site_ID 的情况都不匹配。

我假设问题在于\t连接的键值,但我不确定这里使用的正确值是匹配 NULL 列值......因为它不是NULL.

如果有人可以阐明格式化此请求的正确方法,以便它可以匹配第NULL5 列,我将不胜感激!

0 投票
2 回答
2467 浏览

php - php 的 str_getcsv 打破制表符分隔的列表,没有外壳和单独的双引号

str_getcsv用来解析从 nosql 查询返回的制表符分隔值但是我遇到了一个问题,我发现的唯一解决方案是不合逻辑的。

这是一些要演示的示例代码(仅供参考,在此处显示时似乎没有保留选项卡)...

特别注意一列(以“朝鲜......”开头的事实实际上以双引号开头,"但不以双引号结束。这就是为什么我提供NULL作为第三个参数(附件)来覆盖默认值"外壳值。

结果如下:

如您所见,报价正在破坏功能。从逻辑上讲,我认为我可以使用NULLor 和空字符串''作为str_getcsv(enclosure) 的第三个参数,但都没有用?!?!

我唯一可以str_getcsv用来正常工作的是空格字符' '。这对我来说没有任何意义,因为没有一列有空格开始和/或结束它们。

现在结果是:

所以我的问题是,为什么它可以使用空格作为外壳,而不是 NULL 或空字符串?这也有影响吗?

更新 1:这似乎减少了我在日志中收到的错误数量,但并没有消除它们,所以我猜测我用作外壳的错误造成了意想不到的副作用,尽管比之前的问题更麻烦. 但是我的问题还是一样,为什么我不能使用 NULL 或空白空间作为外壳,其次,有没有更好的方法来处理/执行此操作?

0 投票
1 回答
307 浏览

mysql - 带有 HandlerSocket 的 Percona XtraDB 集群

主要问题 - 是否可以将 HandlerSocket 与 PXC 一起使用?我注意到,在高负载写入期间,套接字经常因错误而崩溃HNDSOCK unlock tables: commit failed

0 投票
1 回答
318 浏览

python - Python-handler-socket (pyhs) 更新函数示例

我正在为 HandlerSocket MySQL 插件 ( https://bitbucket.org/excieve/pyhs/overview ) 使用 Python 客户端库。我可以进行插入和查找请求,但我找不到如何调用 manager.update() 函数的示例。我已经阅读了图书馆的文档并用谷歌搜索了很多,但没有运气。请任何人给我一个代码示例如何使用更新功能。

0 投票
1 回答
215 浏览

centos - 无法使用 mariadb 启动 HandlerSocket

出于某种原因,当我启动 mariadb(版本 10.0.14)时,我无法让 HandlerSocket 开始监听。我正在使用 Cent OS 6.5。

my.cnf 具有以下设置:

从 mariaDb 提示符调用“SHOW GLOBAL VARIABLES LIKE 'handlersocket%'”显示:

我可以成功启动 mariadb,但是当我检查哪些端口正在主动监听时,9998 和 9999 都没有出现。我检查了 mysqld.log 文件,但似乎没有发生错误。

0 投票
0 回答
80 浏览

mysql - MySQL 中的 HANDLER / HandlerSocket 和索引

Handler和HandlerSocket有什么区别?第二个是否类似于第一个的改进,因此更可取?我没有找到任何关于它们之间差异的解释或任何比较。

Handler 和/或 HandlerSocket 可以从索引中检索,还是仅适用于表?

0 投票
0 回答
24 浏览

mysql - mysql处理程序套接字配置

我正在尝试配置一个handlersocket插件。我安装了插件,它在 mysql 中通过 show plugins 可见;DAEMON handlersocket.so 但我无法在 mysql 中访问所需的变量。

如您所见,没有设置所需的变量

我在用:

ubuntu 16.04 tls mariadb