Ho un oggetto complesso che creo in uno script PHP. Sto cercando un modo per archiviare questo oggetto in modo tale che le richieste successive non debbano ricrearlo o sprecare tempo per la serializzazione e la ricostruzione. Usando xdebug trovo che trascorro la metà dell'intera richiesta di tempo per costruire questo oggetto. Anche quando immagazzino l'oggetto in modo esplicito in APC (o memcache), il tempo di non serializzarlo e caricare tutte le classi richiede quasi il tempo necessario alla creazione dell'oggetto.Oggetto cache in PHP senza utilizzo di serializzazione
Non so se è possibile archiviare e successivamente caricare un oggetto "compilato" in PHP. È possibile? Ci sono altre soluzioni?
Non sono sicuro che sia possibile, ma ho pensato di chiedere alla comunità.
MODIFICA: l'oggetto è un albero binario e viene utilizzato come albero decisionale. Il codice è fondamentalmente un'API richiesta per restituire rapidamente una risposta dall'albero. Tutto ciò ha bisogno di esibirsi a un ritmo sempre crescente, quindi cerco di massimizzare le prestazioni laddove possibile.
Non che questo sia un modo per farlo 'senza' serializzare. Ma potrebbe voler esaminare i metodi __sleep() e __wakeup() in modo che possa ricostruire automagicamente la classe. http://us3.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.sleep –
@Chacha Grazie per queste informazioni. Non sono sicuro che sia una soluzione, ma ho sicuramente imparato qualcosa di nuovo da questo! Grazie. –
La memorizzazione di un oggetto, per definizione, richiede la serializzazione. Se hai davvero bisogno di un accesso ripetuto e rapido a un grande albero binario in memoria, uno script PHP richiamato su ogni richiesta non è la soluzione giusta. –