recherche

Maison  >  Questions et réponses  >  le corps du texte

php - SESSION ne peut pas être utilisée lorsque la file d'attente est exécutée de manière asynchrone, puis-je toujours utiliser la file d'attente lors de la connexion ?

SESSION ne peut pas être utilisé lorsque la file d'attente est exécutée de manière asynchrone, puis-je toujours utiliser la file d'attente lors de la connexion ? Si oui, comment puis-je gérer la relation correspondante entre les cookies et les sessions ?

怪我咯怪我咯2793 Il y a quelques jours393

répondre à tous(1)je répondrai

  • 怪我咯

    怪我咯2017-05-16 13:07:36

    Puis-je toujours utiliser la file d'attente lors de l'enregistrement ?

    La connexion est généralement un processus synchrone. L'utilisation d'une file d'attente n'est pas impossible, mais cela augmentera la complexité.

    Le processus de connexion synchrone consiste à lire la base de données, à déterminer le compte et le mot de passe corrects et à configurer la session, qui peut être complétée en une seule requête HTTP.

    En passant à l'asynchrone, je ne pense qu'à la méthode suivante :

    1. Le client génère un jeton aléatoire

    2. Le client envoie le jeton, le numéro de compte et le mot de passe au serveur

    3. Le serveur enregistre ce jeton dans Redis et ne s'est pas connecté avec succès

    4. Le serveur met le jeton, le compte et le mot de passe dans la file d'attente pour traitement

    5. Traitement de la file d'attente, si le compte est correct, le jeton dans Redis est marqué comme réussi, sinon il est marqué comme échec

    6. Pendant le processus de traitement du serveur et de la file d'attente, le client continue d'utiliser une autre interface pour interroger si la connexion au jeton réussit. En cas de succès, toutes les demandes suivantes apporteront le jeton, sinon la connexion du client échoue.

    Le processus de connexion synchrone doit donc être terminé dès que possible, et certaines opérations requises après la connexion (envoi de notifications par e-mail, etc.) doivent être mises en file d'attente au lieu de l'ensemble du processus de connexion.

    répondre
    0
  • Annulerrépondre