首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
关于fd保存方式,那种最好?
由于需要对uid和fd做映射关系,需要保存。保存的方式: 1、redis,这个访问时间一般1ms 2、使用swoole_table,因为没有使用过,不确定能最大保存多少?限制条件是不是php的内存有关? 3、使用对象变量来保存,但是在多进程数据不同步。 希望Rango帮忙解答,谢谢!
发布于8年前 · 7 次浏览 · 来自
提问
刘
刘勇
由于需要对uid和fd做映射关系,需要保存。保存的方式: 1、redis,这个访问时间一般1ms 2、使用swoole_table,因为没有使用过,不确定能最大保存多少?限制条件是不是php的内存有关? 3、使用对象变量来保存,但是在多进程数据不同步。 希望Rango帮忙解答,谢谢!
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2015-12-26
l
lohan
1. 如果不是分布式的系统,redis可以换成apc这类共享缓存,会快很多。也顺便解决的你第三个问题。 2. swoole_table,这个初始化是可以分配每个table的大小,而且可以动态的扩容。和php的内存限制没有太大的关系。 3. 同1,但也可以利用task进程做中转,效率和共享内存会差不多。
赞
0
回复
2015-12-26
H
HELLO
1. redis有网络的开销,确实会慢一些,但天然是分布式的。未来有多台机器的时候,可以很方便地跨机器查询连接相关信息。 2. swoole_table可以理解为是内存,能存多少要看你申请了多大的内存,比如一条数据需要100字节一百万条需要用占用100M内存。 3. PHP对象是进程内存,所以无法跨进程共享数据
赞
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一直是同一个。没用使用到多进程啊。