Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zaimplementować pesymistyczne blokowanie w aplikacji webowej php/mysql?

Musisz zaimplementować w tabeli pola LOCKDATE i LOCKWHO. Zrobiłem to w wielu aplikacjach poza PHP/Mysql i zawsze jest tak samo.

Blokada zostaje zakończona po upływie czasu TTL, więc możesz odjąć daty za pomocą funkcji TERAZ i LOCKDATE, aby sprawdzić, czy obiekt został zablokowany na dłużej niż 30 minut lub 1 godzinę, jak chcesz.

Innym czynnikiem jest rozważenie, czy bieżący użytkownik blokuje obiekt. Dlatego też potrzebujesz LOCKWHO. Może to być user_id z Twojej bazy danych, session_id z PHP. Ale trzymaj się czegoś, co identyfikuje użytkownika, adres IP nie jest dobrym sposobem na zrobienie tego.

Wreszcie, zawsze pomyśl o funkcji masowego odblokowania, która po prostu resetuje wszystkie LOCKDATE i LOCKWHOs...

Pozdrawiam



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dokładne znaczenie klucza obcego MySQL Klauzula „on delete rest”

  2. Wyzwalacz MySQL:Usuń z tabeli PO USUNIĘCIU

  3. Przykłady ASCII() – MySQL

  4. Wykresy Primefaces 5.0 - jak dynamicznie tworzyć modele i serie wykresów całkowicie z wartości bazy danych

  5. Zaktualizuj kolumnę w bazie danych, w której maksymalna wartość php mysql