Salve a tutti, in questo momento sto progettando un gioco di ruolo in php, il mio problema è molto semplice, il gioco prevede una serie di dati "non dinamici" che devono essere utilizzati di continuo, per esempio nel gioco ci sono diversi mostri che hanno caratteristiche come ad esempio: vita, danno, immagine da caricare, ecc...
Ora inizialmente avevo pensato di inserire questi dati in una tabella mysql, ma questo comporta che ogni santissima volta che un giocatore incontra un nemico il server dovrà fare una query (moltiplicata per 1000 giocatori contemporaneamente).
Ho pensato che dato che questi dati rimangono fissi, e sono letti di continuo, sia uno spreco di risorse far lavorare cosi tanto mysql, e quindi ho pensato che sarebbe potuto essere utile caricare in memoria questi dati in modo da avere un accesso diretto. In effetti caricando i dati in un array di sessione risolvo il problema di mysql, ma ho notato che aprendo diverse sessioni questi dati non sono condivisi tra le sessioni pur essendo esattamente identici e quindi l'utilizzo della memoria si moltiplica per gli utenti connessi (cosa improponibile).
La domanda è quindi: c'è un modo di far caricare questi dati in memoria e far in modo che il seguente utente che cerca di caricarli utilizzi quelli già caricati, ad esempio dichiarandoli come dati "finali" (non modificabili) o con qualche sorta di variabile "globale" visibile da tutti gli utenti?
grazie a tutti
Ora inizialmente avevo pensato di inserire questi dati in una tabella mysql, ma questo comporta che ogni santissima volta che un giocatore incontra un nemico il server dovrà fare una query (moltiplicata per 1000 giocatori contemporaneamente).
Ho pensato che dato che questi dati rimangono fissi, e sono letti di continuo, sia uno spreco di risorse far lavorare cosi tanto mysql, e quindi ho pensato che sarebbe potuto essere utile caricare in memoria questi dati in modo da avere un accesso diretto. In effetti caricando i dati in un array di sessione risolvo il problema di mysql, ma ho notato che aprendo diverse sessioni questi dati non sono condivisi tra le sessioni pur essendo esattamente identici e quindi l'utilizzo della memoria si moltiplica per gli utenti connessi (cosa improponibile).
La domanda è quindi: c'è un modo di far caricare questi dati in memoria e far in modo che il seguente utente che cerca di caricarli utilizzi quelli già caricati, ad esempio dichiarandoli come dati "finali" (non modificabili) o con qualche sorta di variabile "globale" visibile da tutti gli utenti?
grazie a tutti

Ultima modifica: