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

前端 - 前后端的数据如何实时对接?

PHP中文网PHP中文网2741 Il y a quelques jours490

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

  • 阿神

    阿神2017-04-18 10:00:32

    Ajouter une machine...

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:00:32

    Tant qu'il s'agit d'un tournoi à la ronde, il y aura certainement cet intervalle de temps.
    MySQL ne semble pas avoir de mécanisme de surveillance des données
    Vous pouvez ajouter une couche de redis ou mq devant
    1 Ajouter des tâches au front-end
    2 Écrire des tâches sur redis/mq et. écrivez sur mysql
    3. Le backend surveille redis/mq, obtient l'exécution de la tâche et met à jour mysql une fois l'exécution terminée

    Inutile de dire que mq est avant tout une question de surveillance
    Redis utilise pubsub pour le faire
    redis pubsub est très simple à utiliser. http://redis.cn/commands/pubs...
    De cette façon, le backend peut également effectuer des tâches simultanément

    répondre
    0
  • 黄舟

    黄舟2017-04-18 10:00:32

    Le front-end ne doit pas pouvoir écrire directement dans la base de données. Le front-end doit envoyer la requête, et le back-end exécutera la requête du front-end, puis une fois que le back-end aura terminé l'opération d'écriture. à la base de données, il peut envoyer directement un autre message demandant l'exécution de la tâche.
    Bien sûr, ce message peut également être initié par le front-end après que le front-end a reçu le message d'écriture réussi. Cependant, cela semble déraisonnable et gaspille les ressources du serveur.
    De cette façon, la façon dont le backend exécute les tâches ne doit pas consister à interroger, mais doit être modifiée pour écouter les réponses. Lorsque la demande d'exécution d'une nouvelle tâche est surveillée, les données sont extraites de la base de données et ajoutées à la file d'attente des tâches.

    répondre
    0
  • Annulerrépondre