captain_torche Posté 14 Décembre 2011 Posté 14 Décembre 2011 Bonjour, Je vais devoir développer un script d'instant gagnant. Pour l'instant je ne sais pas encore s'il sera du genre "Un gagnant à telle heure", ou "Un gagnant toutes les X tentatives". Je compte utiliser les fonctionnalités LOCK TABLE de MySQL pour éviter les soucis, pouvez-vous me confirmer qu'il s'agit de la bonne solution ? Une fois que le script sera finalisé, que puis-je utiliser pour le faire monter en charge en simulant des participations ?
Anonymus Posté 14 Décembre 2011 Posté 14 Décembre 2011 Bonjour, Je ne pense que ca les LOCK soient une bonne solution. Si tu bloques ta table, tu vas te retrouver avec des requètes en attente de Unlock, et qui vont saturer ton serveur. Dans le cas du 'un gagnant à telle heure' ou 'un toutes les heures', je mettrais un timestamp sur la table, et après il sera facile d'aller chercher la liste des joueurs de telle heure à telle heure (de tel timestamp à tel autre), ce qui te permettra de traiter les 2 cas de gagnants. ++ !
captain_torche Posté 14 Décembre 2011 Auteur Posté 14 Décembre 2011 Et comment faire en cas de timestamps égaux ? On sélectionne celui qui a l'ID le moins élevé ?
Anonymus Posté 14 Décembre 2011 Posté 14 Décembre 2011 Le problème des timestamp égaux n'intervient pas à ce niveau : Les timestamp servent à créer une plage horaire, ce qui te permet de dire : telles personnes peuvent ou pas, participer au jeu, mais ne servent pas à départager le gagnant. Pour cela, effectivement il te faut quelque chose d'unique : - au pire, tu peux utiliser un micro-timestamp ( microtime() ) qui te sort un temps en microsecondes, mais ne garantit pas l'unicité, - au mieux tu devrais te servir de l'id incrément de la table : Lui est vraiment unique. Nico
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant