队列 - java redis做app后台 怎么实现多人抢单
阿神
阿神 2017-04-18 10:03:55
0
1
509
阿神
阿神

闭关修行中......

répondre à tous(1)
小葫芦

Je ne comprends pas très bien la signification de votre code, et il ne semble pas correspondre à votre description.

Il n'est pas impossible d'utiliser Redis, mais l'efficacité peut être un peu faible. Il est recommandé d'utiliser le verrouillage optimiste pour résoudre ce problème.

Par exemple :
Supposons qu'il y ait un champ de version dans la table de commande. Ce champ ne peut être incrémenté que dans un sens (généralement +1). Lors de la sélection, consultez également version :

.
SELECT ..., version FROM order 
WHERE ...;

UPDATE order
SET ...,
version = version+1
WHERE version = 上一个SELECT语句带出来的version值

Supposons que l'utilisateur A et l'utilisateur B trouvent les commandes avec order_id=1, version=1 dans un certain laps de temps, l'un après l'autre ou en même temps. En raison de l'existence du verrouillage de ligne mysql lors de la MISE À JOUR, un seul utilisateur. la MISE À JOUR sera réussie (1 lignes affectées), la MISE À JOUR d'un autre utilisateur a échoué (0 lignes affectées), et vous pourrez alors juger si l'utilisateur a réussi à saisir la commande en fonction du nombre de lignes renvoyées après la MISE À JOUR.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!