Buenas,
Estoy desarrollando un sistema bastante grande con usuarios, transacciones, admins, etc... con una base de datos mysql y php.
En el camino me he topado con muchas dudas, lo cual google me ha ayudado bastante, pero en otros no.
Una de las duda es la siguiente: Tengo por ejemplo un usuario logueado en su cuenta y guardo todos sus datos extraidos de la base de datos en una variable $_SESSION['usuario'] (id, nombre, apellido, tel, etc...), y cada 2 minutos vuelvo a extraer los datos de la bd para acutalizar el session (por si le han cambiado algo). Con los mensajes del usuario lo mismo: $_SESSION['usuario']['mensaje1,2,....,N']['texto, asunto, fecha....']... Esto es tan solo un ejemplo.
Esta forma la de sacado de otro programador que lo hace para proteger la base de datos, porque me dijo que si se hacen muchas consultas la bd puede caer o sobrecargar al servidor. Eso es verdad? Utilizando sessions en vez de hacer cada vez una consulta al bd rinde mas? Hay que proteger la bd de que se le hagan muchas consultas?
La otra duda es algo parecido pero sobre las session. Si definimos muchas variables en la session, baja mucho el rendimiento del script? Seria mejor consultar nuevamente a la base de datos antes de guardarlo en la session?
Tengo que aclarar que la página debe ser lo más seguro posible, pero también debe tener un buen rendimiento, tiene que poder soportar a miles de usuarios.
Mi última duda: Sería mejor hacer una clase 'usuario' o 'mensaje' y pasarla por session en vez de un array ['usuario']? De que tanto me sirve tener una clase usuario o mensaje si igual casi nunca voy a trabajar sobre las varibales de la clase sino que sobre la base de datos?(tengo clases definidas pero solo uso métodos, ya que cambios solo lo hago directamente sobre la bd).
Espero que me puedan ayudar/aconsejar.
Desde ya muchas gracias.