2010-05-03 23 views
5

He desarrollado una aplicación web que utiliza un servidor web y una base de datos alojados por un servidor web (en el terreno) y un servidor que se ejecuta en Amazon Web Services EC2. Ambos servidores pueden ser utilizados por un usuario durante una sesión y ambos necesitarán conocer cierta información de sesión sobre un usuario. No deseo PUBLICAR la información que necesitan ambos servidores porque no quiero que sea visible para los navegadores/Firebug, etc. Por lo tanto, necesito que mis datos de sesión persistan en todos los servidores. Y creo que esto significa que la mejor opción es almacenar todos/algunos de los datos que necesito en la base de datos en lugar de almacenarlos en una sesión. Lo más fácil de hacer parece ser mantener las sesiones, pero POST la sesión_id entre servidores y usar esto como la clave para buscar los datos que necesito de una tabla 'user_session_data' en la base de datos.¿Cuáles son las mejores prácticas para almacenar datos de sesión de PHP en una base de datos?

He consultado el artículo de Tony Marston "Saving PHP Session Data to a database" - ¿Debería usar esto o una tabla con los datos de sesión que necesito y session_id como clave suficiente? ¿Cuál sería la desventaja de crear mi propia tabla y un conjunto de métodos para almacenar los datos que necesito en la base de datos?

Respuesta

2

Si la velocidad de transferencia y los tiempos de respuesta entre EC2 y el servidor de la base de datos son suficientes, no veo ningún problema para almacenar los datos de la sesión como se describe y pasar el session_id cuando se transfiere el usuario a un servidor diferente.

-

Almacenamiento de datos de sesión en una base de datos es una práctica bastante común. "Almacenar datos en una sesión" no implica ningún método de almacenamiento real: la creación de archivos en el disco es simplemente la configuración predeterminada de PHP, ya que no requiere ninguna configuración.

Cuestiones relacionadas