getclientcountbygroup 大問題

sammin

如果同时有20000并发 请求getclientcountbygroup

busineseworker 就会busy 这有甚么解决方法?

里面太多getclientcountbygroup foreach 导致进程堵塞

1842 3 1
3个回答

walkor

如果有2w并发,不建议频繁调用getclientcountbygroup,开销会很大。可以调用一次然后将结果缓存到redis等存储中。

  • Tinywan 2022-04-26

    获取实时在线人数,有什么好的方案吗?

  • walkor 2022-04-26

    这个东西一般没必要准实时,尤其是在线量非常庞大时。比如利用定时器几秒钟调用一次getclientcountbygroup,存到redis里,用的时候读redis。

  • Tinywan 2022-04-26

    谢谢群主!

longhaishan

可以考虑直接使用其他数据库来代替这个命令。将clientId作为数据库主键,来存储他相关的数据。可以大幅度提升性能
 
 

  • 暂无评论
sammin

我已经这么做了~只是我觉得这样子那workerman很多function根本没用我全都用REDIS处理掉这些一堆事情

  • 暂无评论
年代过于久远,无法发表回答
🔝