2011-08-17 4 views
1

Mon application peut stocker jusqu'à des dizaines, voire des centaines de Ko de données dans la session. Je stocke actuellement des sessions PHP dans des blobs MySQL, et le volume de trafic met maintenant les requêtes liées à la session sur la base de données autour de 25-75 par seconde. Cela cause des problèmes.Stockage de session PHP centralisé haute performance

Y a-t-il une option de stockage centralisé pour les sessions PHP de cette taille qui fonctionnera bien? Je préférerais éviter les sessions persistantes au niveau du load balancer si possible pour d'autres raisons de performance. Je peux essayer de réduire la taille de la session, mais peu importe, je vais avoir besoin de cette information sur la plupart des demandes, donc je vais devoir la cacher quelque part.

+1

-1 pour stocker 100 Ko dans une session –

Répondre

1

memcached est toujours une option préférée.

L'extension PHP memcache est utile avec un gestionnaire de session qui va stocker des sessions avec memcached.

+0

En général, je suis d'accord, memcached est agréable pour stocker des sessions (même si eux-mêmes lui recommandent de ne pas l'utiliser pour les sessions); mais dans ce cas, il y a un problème avec memcache car un élément ne peut contenir que 1 Mo de données; donc les données de session devaient soit être divisés ou réduits – wonk0

2

Scache est idéal pour cela. Vous pouvez probablement diviser vos données de session en parties plus petites, certaines pouvant même être mises en cache pour toutes les sessions, etc. Scache a l'API pour tout ça.

Il n'y a rien de mal dans les grandes données de session, ce n'est mauvais que si vous le stockez dans $ _SESSION.

Questions connexes