Mysql
 sql >> Database >  >> RDS >> Mysql

Come implementare il blocco pessimistico in un'applicazione Web php/mysql?

Devi implementare un campo LOCKDATE e LOCKWHO nella tua tabella. L'ho fatto in molte applicazioni al di fuori di PHP/Mysql ed è sempre lo stesso.

Il blocco termina quando il TTL è passato, quindi puoi sottrarre le date usando NOW e LOCKDATE per vedere se l'oggetto è stato bloccato per più di 30 minuti o 1 ora come desideri.

Un altro fattore è considerare se l'utente corrente è quello che blocca l'oggetto. Ecco perché hai bisogno anche di un LOCKWHO. Questo può essere un user_id dal tuo database, un session_id da PHP. Ma tienilo su qualcosa che identifichi un utente, un indirizzo IP non è un buon modo per farlo.

Infine, pensa sempre a una funzione di sblocco di massa che reimposta semplicemente tutti i LOCKDATE e LOCKWHO...

Saluti