Maison  >  Article  >  développement back-end  >  Comment écrire une session PHP sur Redis

Comment écrire une session PHP sur Redis

小云云
小云云original
2018-01-25 14:37:412119parcourir

Session : Dans les ordinateurs, notamment dans les applications réseau, cela est appelé "contrôle de session". Cet article vous expliquera donc comment enregistrer la session sur Redis. Si vous en avez besoin, dépêchez-vous et apprenez-le.

La session de session PHP est enregistrée dans le répertoire de cache de session défini dans le fichier de configuration php.ini sous la forme d'un fichier par défaut. L'efficacité de la session de sauvegarde de fichier est très faible. une session sera générée sur le serveur.Le seul fichier session_id Lorsque le nombre de connexions utilisateur atteint des centaines de milliers, des centaines de milliers de fichiers seront générés sur le serveur à ce moment-là, la lecture et l'écriture du répertoire de session. sur le disque sera très lent, ce qui entraînera l'échec du programme lorsque l'utilisateur se connectera. Passez beaucoup de temps à lire et à écrire des fichiers de session. Lorsqu'un grand nombre d'utilisateurs se connectent, les capacités de lecture et d'écriture sont insuffisantes. Par conséquent, le fichier sera verrouillé par le premier processus qui gère la session et les autres requêtes seront bloquées. La requête sera suspendue dans session_start() jusqu'à ce que le fichier de session soit déverrouillé. À l’heure actuelle, il est nécessaire d’optimiser le problème de connexion lente.

Étant donné que le fichier de session verrouillé ne sera déverrouillé qu'après la fin de l'exécution du script ou la fermeture normale de la session, afin d'éviter un grand nombre de requêtes php (qui nécessitent l'utilisation des données $_SESSION) d'être verrouillé, vous pouvez fermer la session immédiatement après l'avoir écrite, libérant ainsi le verrou.

//开启会话
session_start();
//写入会话
$_SESSION['is_login']=1;
//写入会话后关闭上一个会话文件的写入
session_write_close();

la session php écrit sur redis

les données redis sont stockées et exécutées dans la clé USB de l'ordinateur. La vitesse d'écriture de la clé USB de l'ordinateur est des dizaines de fois supérieure à celle du disque dur, donc si l'écriture de la session php dans le cache Redis augmentera considérablement la vitesse. Méthode de configuration :

//方式一,在php脚本中设置更改php会话写入方式
<?php
ini_set("session.save_handler","redis"); 
ini_set("session.save_path","tcp://127.0.0.1:6379");
//如果有密码
ini_set("session.save_path","tcp://127.0.0.1:6379?auth=password");
?>
//修改php的配置文件php.ini
session.save_handler = redis 
session.save_path = "tcp://127.0.0.1:6379"
//如果有密码
session.save_path = "tcp://127.0.0.1:6379?auth=password"

Recommandations associées :

Comment s'inscrire et lire une session en php

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn