recherche

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

Comment utiliser Redis pour annuler une commande en 15 minutes dans thinkphp5 ?

1. Je souhaite utiliser la file d'attente pour vérifier si la commande a été passée depuis plus de 15 minutes, si elle dépasse 15 minutes, je modifierai la base de données pour annuler l'expiration du délai, mais je ne sais pas par où commencer

.
过去多啦不再A梦过去多啦不再A梦2783 Il y a quelques jours1723

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

  • 漂亮男人

    漂亮男人2017-06-06 09:54:43

    Cette fonction peut être conçue pour déclencher le comportement de l'utilisateur. Par exemple, lorsque l'utilisateur vérifie la commande et détermine qu'elle n'a pas été payée et qu'elle a dépassé 15 minutes, le statut de la commande sera modifié en annulation de délai d'attente. Les commandes qui n'ont pas été consultées et dont le statut n'a pas été mis à jour pourront être mises à jour tôt le matin par des tâches planifiées. Lorsque le volume des commandes est important, il n'est pas recommandé de synchroniser le statut de toutes les commandes en temps réel, et cela n'a aucun sens.

    répondre
    0
  • 怪我咯

    怪我咯2017-06-06 09:54:43

    Interrogation de la base de données : utilisez des tâches planifiées pour interroger la base de données afin d'interroger le traitement des commandes associées. Utilisez-la lorsque le volume n'est pas important. Cette méthode est simple, pratique et facile à maintenir dans les petits projets

    .

    Ring Queue : Référence : http://mp.weixin.qq.com/s/mvF...

    Service de file d'attente : Utiliser le traitement de file d'attente différé Référence : http://tech.youzan.com/queuin...

    répondre
    0
  • 高洛峰

    高洛峰2017-06-06 09:54:43

    Une meilleure solution consiste à utiliser une roue temporelle, qui est la file d'attente en anneau mentionnée ci-dessus
    Cela peut également être réalisé en utilisant la notification de l'espace clé Redis. Réglez le délai d'expiration sur 15 minutes, écoutez les événements de suppression de clé, et effectuez l'opération correspondante

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-06-06 09:54:43

    N'est-il pas bon d'utiliser une minuterie

    répondre
    0
  • 滿天的星座

    滿天的星座2017-06-06 09:54:43

    Pas besoin de Redis

    Cela peut être réalisé avec MySQL

    Plan :
    Écrivez un script PHP, exécutez le processus démon,
    boucle while et vérifiez la bibliothèque. Si la commande prend plus de 15 minutes et que la commande n'est pas payée et non expédiée, l'opération d'annulation sera effectuée

    .

    répondre
    0
  • Annulerrépondre