问题标签 [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.
php - 使用 HandlerSockets 时,我可以指定要从查询中接收哪些字段吗?
使用HandlerSockets时,我可以指定要从查询中接收哪些字段吗?
这是我的示例表
查询它的PHP代码如下
我所需要的只是sent_date
因为我已经知道另外两个价值观。是否可以不再通过网络传输它们?
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-handlersocket
PECL 库在这里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 之类的东西创建自己的界面。
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 服务器似乎有问题?
php - 在 HandlerSocket 上基于原始套接字的查询中表示 NULL 键值的正确方法
我编写了一个基于轻量级套接字的 HandlerSocket 查询系统,它运行良好....缺少这个小问题....
我在数据库中有一个表,其unique
索引包含 5 个关键部分:
都是字符串,前 4 列是必需的,最后 (Site_ID) 不是 AND 它可能是NULL
。简要说明是所有站点共享具有 的记录Site_ID = NULL
,但是每个站点都可以用它自己的一条记录覆盖默认记录,并提供它们的特定记录Site_ID
。
我的 Sockets 查询准备请求,如下所示:
因此,当提供所有 5 列部分和键值时,它可以工作,当提供前 4 列和前 4 个键值时,它可以工作,但是当使用所有 5 列和它们对应的第 5 列的键值NULL
时,它什么也不返回我知道事实上有些记录与前 4 个匹配并且有一个NULL
Site_ID。
我必须能够使用第三种情况,因为我需要确保它与任何定义了 Site_ID 的情况都不匹配。
我假设问题在于\t
连接的键值,但我不确定这里使用的正确值是匹配 NULL 列值......因为它不是NULL
.
如果有人可以阐明格式化此请求的正确方法,以便它可以匹配第NULL
5 列,我将不胜感激!
php - php 的 str_getcsv 打破制表符分隔的列表,没有外壳和单独的双引号
我str_getcsv
用来解析从 nosql 查询返回的制表符分隔值但是我遇到了一个问题,我发现的唯一解决方案是不合逻辑的。
这是一些要演示的示例代码(仅供参考,在此处显示时似乎没有保留选项卡)...
特别注意一列(以“朝鲜......”开头的事实实际上以双引号开头,"
但不以双引号结束。这就是为什么我提供NULL
作为第三个参数(附件)来覆盖默认值"
外壳值。
结果如下:
如您所见,报价正在破坏功能。从逻辑上讲,我认为我可以使用NULL
or 和空字符串''
作为str_getcsv
(enclosure) 的第三个参数,但都没有用?!?!
我唯一可以str_getcsv
用来正常工作的是空格字符' '
。这对我来说没有任何意义,因为没有一列有空格开始和/或结束它们。
现在结果是:
所以我的问题是,为什么它可以使用空格作为外壳,而不是 NULL 或空字符串?这也有影响吗?
更新 1:这似乎减少了我在日志中收到的错误数量,但并没有消除它们,所以我猜测我用作外壳的错误造成了意想不到的副作用,尽管比之前的问题更麻烦. 但是我的问题还是一样,为什么我不能使用 NULL 或空白空间作为外壳,其次,有没有更好的方法来处理/执行此操作?
mysql - 带有 HandlerSocket 的 Percona XtraDB 集群
主要问题 - 是否可以将 HandlerSocket 与 PXC 一起使用?我注意到,在高负载写入期间,套接字经常因错误而崩溃HNDSOCK unlock tables: commit failed
。
python - Python-handler-socket (pyhs) 更新函数示例
我正在为 HandlerSocket MySQL 插件 ( https://bitbucket.org/excieve/pyhs/overview ) 使用 Python 客户端库。我可以进行插入和查找请求,但我找不到如何调用 manager.update() 函数的示例。我已经阅读了图书馆的文档并用谷歌搜索了很多,但没有运气。请任何人给我一个代码示例如何使用更新功能。
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 文件,但似乎没有发生错误。
mysql - MySQL 中的 HANDLER / HandlerSocket 和索引
Handler和HandlerSocket有什么区别?第二个是否类似于第一个的改进,因此更可取?我没有找到任何关于它们之间差异的解释或任何比较。
Handler 和/或 HandlerSocket 可以从索引中检索,还是仅适用于表?
mysql - mysql处理程序套接字配置
我正在尝试配置一个handlersocket
插件。我安装了插件,它在 mysql 中通过 show plugins 可见;DAEMON handlersocket.so 但我无法在 mysql 中访问所需的变量。
- 这是我的.cnf
- 接下来,我重启mysql:restart mysql
- 而不是在mysql中显示变量列表:mysql变量
如您所见,没有设置所需的变量
我在用:
ubuntu 16.04 tls mariadb