Obter a contagem de referência de um objeto em PHP?

Eu percebo que a resposta instintiva a essa pergunta é que "você não", mas me ouça.

Basicamente, estou executando em um sistema de registro ativo em um SQL e, para evitar objetos duplicados na mesma linha do banco de dados, mantenho um 'array' na fábrica com cada objeto carregado no momento (usando um 'id' de incremento automático) como chave )

O problema é que, quando tento processar mais de 90.000 linhas através deste sistema, em uma ocasião ímpar, o PHP encontra problemas de memória. Isso seria muito facilmente resolvido executando uma coleta de lixo a cada poucas centenas de linhas, mas, infelizmente, uma vez que a fábrica armazena uma cópia de cada objeto - a coleta de lixo do PHP não libera nenhum desses nós.

A única solução em que posso pensar é verificar se a contagem de referência dos objetos armazenados na fábrica é igual a um (ou seja, nada faz referência a essa classe) e, se for o caso, liberá-los. Isso resolveria o meu problema, no entanto, o PHP não tem um método de contagem de referência? (além de debug_zval_dump, mas isso é quase impossível de usar).

questionAnswers(4)

yourAnswerToTheQuestion