Webman报Redis内存相关溢出 看不太明白日志求助

aphper

不清楚是Redis的问题还是webman 看不太懂

818 3 0
3个回答

aphper

大概的业务代码就是这里 拉取了店铺表的最小和最大的ID 然后每个店铺插入一条队列任务 然后就报上图中的内容

  • ontheway 2022-07-15

    php内存溢出,128M内存都被占完了,但是看这个代码也不会占用这么大的内存

keytehu

https://www.workerman.net/plugin/12

手册有说Client::send() 是异步的,数据会先存在本地。所以如果本地瞬间产生了几万条消息,那内存可能会超限。

感觉你应该用Redis::send(),它是同步的。

  • aphper 2022-07-16

    昨天测试后太忙忘记回复了, 确实是这个问题,非常感谢

oliusha

1、min和max应该都是全表扫描的吧?数据多的时候,不如按顺序及倒序各查询一条高效;
2、需要有点不明白,但还是问问:你的shop_id都是连贯的吗?

  • aphper 2022-07-16

    不连贯 队列里面有处理读取redis 读取不到shop_id就会跳过

年代过于久远,无法发表回答
🔝