sql >> Databáze >  >> RDS >> Mysql

Jak implementovat pesimistické zamykání ve webové aplikaci php/mysql?

Do tabulky musíte implementovat pole LOCKDATE a LOCKWHO. Udělal jsem to v mnoha aplikacích mimo PHP/Mysql a je to vždy stejné.

Zámek je ukončen, když projde TTL, takže můžete odečíst data pomocí NOW a LOCKDATE, abyste zjistili, zda byl objekt uzamčen déle než 30 minut nebo 1 hodinu, jak si přejete.

Dalším faktorem je zvážit, zda je aktuální uživatel tím, kdo zamyká objekt. Takže to je důvod, proč také potřebujete LOCKWHO. Může to být user_id z vaší databáze, session_id z PHP. Ale ponechejte to na něco, co identifikuje uživatele, ipaddress není dobrý způsob, jak to udělat.

Nakonec vždy myslete na funkci hromadného odemykání, která jednoduše resetuje všechna data LOCKDATE a LOCKWHO...

Na zdraví



  1. Import souboru .sql na windows do postgresql

  2. Multi-Dimensional Array z odpovídajících sloupců mysql

  3. Ekvivalent varchar(max) v MySQL?

  4. Kdy použít STRAIGHT_JOIN s MySQL