Cet article présente principalement comment réécrire le mécanisme de stockage de session en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
<.>Zone de données de session
est stockée dans le répertoire temporaire du système d'exploitation du serveur sous forme de fichier par défaut ! Lorsqu'il y a trop de zones de données de session, le stockage sous forme de fichiers ralentira le fonctionnement. La surcharge de lecture et d’écriture du disque (IO, entrée/sortie) est très élevée. Dans les projets réels, d'autres méthodes seront utilisées pour stocker les données de session plus rapidement. Méthodes typiques : base de données, mémoire. Prenons l'exemple du stockage dans la base de données pour expliquer : les données de session sont stockées dans la base de données ! Il suffit de réécrire les opérations directement liées à la zone de données de session : Les plus basiques ne sont que 2 : lire et écrire ! 1 : Définir 2 fonctions qui peuvent compléter la lecture et l'écriture. Deux : informez le mécanisme de session d'utiliser les fonctions de lecture et d'écriture définies par l'utilisateur lorsque la lecture et l'écriture sont requises.Définition 2 (en fait un total de 6 fonctions connexes requises) fonctions qui peuvent compléter la lecture et l'écritureRecommandations de sujets connexes : session php (y compris des photos, des vidéos, des cas)
Informer mécanisme de session, Lorsque a besoin de lire et d'écrire, utilise fonctions de lecture et d'écriture définies par l'utilisateur pour compléter
Session_set_save_handler( 开始函数,结束函数,读函数,写函数,删除函数,GC函数 );
$_SESSION
Qui appelle , qui a transmis l'information !
Lorsque le mécanisme de session PHP appelle cette fonction, l'ID de session actuel sera transmis à la fonction en tant que paramètre :
Par conséquent, un paramètre formel doit être spécifié pour accepter la session transmise. Paramètres ID. :Lorsque le mécanisme de session PHP appelle cette fonction pour effectuer une opération d'écriture, l'ID de session actuel et le contenu à écrire (sérialisé) seront transmis à la fonction !
nécessite 2 paramètres formels pour recevoir :
Opération de suppression :
sessDelete()
Lors de la destruction de la session.
a exécuté la fonction PHP :
Session_destroy();
Besoin de définir des paramètres formels pour recevoir :
Opération de récupération de place : sessGC()
Garbage : Zone de données de session obsolète sur le serveur. ,
Comment déterminer les déchets ?
Si une zone de données de session n'a pas été utilisée pendant plus d'une certaine période de temps (la dernière opération d'écriture), elle est considérée comme des données inutiles.
Le point critique temporel : 1440 s par défaut. Peut être configuré :
Avec la dernière heure d'écriture, vous pouvez déterminer s'il s'agit d'une poubelle
Vous devez ajouter un champ pour enregistrer la dernière heure d'écriture.
Lors de la rédaction, mettez à jour ce champ :
sessWrite();
Condition de jugement : Expirée
Last_write Pendant le processus session_start(), lorsque le mécanisme de session est activé : il est possible d'effectuer des opérations de garbage collection. Une fois exécutées, toutes les zones de données inutiles expirées seront supprimées. La probabilité par défaut est de 1/1000. Vous pouvez définir la probabilité : Possibilité : Base (diviseur) : Ajuster le test de probabilité : Il est recommandé d'ajuster pendant le cycle de script, d'utiliser la fonction ini_set(), et de le compléter avant d'ouvrir le mécanisme de session : Implémentation sessGC() Le mécanisme de session PHP passe la durée de validité maximale en paramètre ! Les travaux d'initialisation sont garantis d'être exécutés en premier. Complétez le code initial dans sessBegin : Par exemple, initialisez la connexion à la base de données : Travail final Return true; Session_set_save_handler() précède session_start ( ) est appelé. N'ouvrez pas la session automatiquement ! php.ini : session.auto_start = 0 utilisé par PHP Storage mécanisme : Enfin, il est recommandé de changer la configuration ci-dessus en utilisateur : indiquant la personnalisation de l'utilisateur ! Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois ! Recommandations associées : Comment résoudre le problème de référence du tableau php laissé après la boucle foreach Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!Comment supprimer ?
Démarrer l'opérationsessBegin():
Fin de l'opération sessEnd() :
Détails de la syntaxe
Définir en premier avant d'ouvrir le mécanisme de session
PHPÉlément de configuration : session.save_handler