首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中获取对象的引用计数?

在PHP中获取对象的引用计数?
EN

Stack Overflow用户
提问于 2010-09-22 05:36:04
回答 5查看 4.3K关注 0票数 17

我意识到对这个问题的下意识反应是“你不会”,但请听我说完。

基本上,我在SQL上的活动记录系统上运行,为了防止相同数据库行的重复对象,我在工厂中为每个当前加载的对象保留一个“数组”(使用自动增量“id”作为键)。

问题是,当我偶尔尝试通过这个系统处理90,000+行时,PHP遇到了内存问题。这很容易通过每几百行运行一次垃圾收集来解决,但不幸的是,由于工厂存储了每个对象的副本-PHP的垃圾收集不会释放这些节点中的任何一个。

我能想到的唯一解决方案是检查存储在工厂中的对象的引用计数是否等于1(即没有引用该类的对象),如果是,则释放它们。这将解决我的问题,但是PHP没有引用计数方法吗?(除了debug_zval_dump,但这几乎是不可用的)。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3764686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档