首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
swoole_table存数数据量和预期不一致
{{{ $table = new swoole_table(65535); $table->column('id', swoole_table::TYPE_INT, 1); $table->create(); for ($i=0; $i < 65535; $i++) { $key = str_pad($i, 12, '0', STR_PAD_LEFT); $table->set((string)$key, array('id' => 1)); } }}} 使用以上代码当key到达26876左右的时候机会出现这个错误"Warning: Swoole\Table::set(): Unable to allocate memory" 官网说的是物理内存不足,但是我将代码顺序复制几份放在后面继续执行,每段代码开始出现错误时的key都不一样. 而且出现了这个错误之后继续运行后面的插入,有一部分还是可以正常插入的. 哪位大神可以指点下怎么解决,在此拜谢.
发布于5年前 · 13 次浏览 · 来自
提问
伟
伟观世界
{{{ $table = new swoole_table(65535); $table->column('id', swoole_table::TYPE_INT, 1); $table->create(); for ($i=0; $i < 65535; $i++) { $key = str_pad($i, 12, '0', STR_PAD_LEFT); $table->set((string)$key, array('id' => 1)); } }}} 使用以上代码当key到达26876左右的时候机会出现这个错误"Warning: Swoole\Table::set(): Unable to allocate memory" 官网说的是物理内存不足,但是我将代码顺序复制几份放在后面继续执行,每段代码开始出现错误时的key都不一样. 而且出现了这个错误之后继续运行后面的插入,有一部分还是可以正常插入的. 哪位大神可以指点下怎么解决,在此拜谢.
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2018-12-15
M
MOOOR
行数65535,实际上未必能存这么多。这是由于Hash冲突问题导致的。 https://wiki.swoole.com/wiki/page/254.html
赞
0
回复
微信公众号
热门内容
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。