El límite de datos que puede almacenar dentro de una sesión está limitado por la capa de almacenamiento de la sesión. El almacén de sesiones predeterminado es el sistema de archivos y una sesión se almacena en un archivo. El nombre de la variable de sesión/matriz-matriz se almacena, así como sus datos en un serialized form. Un símbolo de tubería separa nombres de variables y valores entre sí.
Si está almacenando matrices con cadenas, el archivo será similar a la longitud de las cadenas más la longitud de las teclas y un poco de sobrecarga para los metadatos, así como el tamaño de los nombres de las variables.
El tamaño de un archivo está limitado por el sistema de archivos. Por ejemplo, en EXT3 esto es 16 Gigabytes por archivo.Entonces este es uno "demasiado". No puede almacenar más datos en una sesión de lo que la capa de almacenamiento le permite.
El siguiente límite que puedo pensar es el de su memoria. Como PHP necesita cargar los datos del archivo en la memoria y almacenarlos de la memoria en el archivo al final de la solicitud. Entonces, si tiene un memory limit in PHP, esto también limitará el tamaño de su sesión. Por ejemplo, hay un límite de memoria estándar de 16 MB en PHP 5.2, pero esto puede variar con su instalación.
El uso de toda la memoria para la sesión no tiene mucho sentido por cierto.
Al lado de estos límites duros podría haber límites de rendimiento que están relacionados con el número de solicitudes congurent, la velocidad de su disco duro es etc.
medida que su pregunta es bastante corto Asumo que no surge algún problemas concretos hasta el momento, por lo que creo que estaría fuera de alcance. P.ej. el uso de memcached si no lo necesitas realmente sería solo una sobrecarga. Además de discutir las decisiones de diseño (nunca almacenar en caché las sesiones) que no se pueden responder en general.
Los 100 o 200 Kilobytes por sesión (localice el directorio de la sesión en su sistema y tenga en cuenta el tamaño de los archivos) no deberían romper su programa. Como se sugiere, debe tener cuidado de que los archivos de sesión antiguos que ya no se necesitan se eliminen automáticamente después de un cierto período de tiempo.
Para obtener más información sobre la configuración de la sesión en PHP, consulte Session Runtime Configuration in the PHP Manual.
¿Qué quiere decir con "muchos" arreglos? 1, 10 100, 1k o 100k? – Shoe
@Charliepiga: hasta 100, supongo. –