1
我的應用程序由一對Apache服務器與一個普通的MySQL框交談組成。部分應用程序允許用戶在將來創建一個小時約會。我需要一種防止不同用戶同時來自不同Apache實例的機制,預訂相同的一小時預約時隙。我已經看到在Oracle數據庫上實現的一個類似的「系統間互斥」解決方案(基本上是'select ... for update'),但沒有處理與MySQL相同的細節。將不勝感激任何建議,代碼或文檔參考,最佳實踐等。嘗試谷歌周圍,但主要是討論關於MySQL內部互斥體出現。通過MySQL的應用程序互斥InnoDB行鎖
這些都是我的MySQL設置我想相關的(我的代碼將有try-catch代碼以及所有和不應該保釋無需解鎖它鎖定,但必須考慮到在這種情況下會發生什麼,以及):
mysql> show variables like 'innodb_rollback_on_timeout';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| innodb_rollback_on_timeout | OFF |
+----------------------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'innodb_lock_wait_timeout';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 100 |
+--------------------------+-------+
1 row in set (0.00 sec)
mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
| 1 |
+--------------+
1 row in set (0.00 sec)
你可以推薦任何替代解決方案(在MySQL之外)?我確實有一個memcached實例也在運行,但經常被刷新(並且不確定我想要memcachedb等來實現容錯)。
感謝您的幫助......
這是我正在尋找,我不是運氣。謝謝。 – dlopezgonzalez 2013-07-08 14:02:46