php實作加鎖解鎖的方法:1.利用MySQL的鎖定機制來實現互斥;2、利用檔案鎖定機制;3、利用共享記憶體空間計數。
php實作加鎖解鎖的方法:
1、利用MySQL的鎖定機制來實現互斥。缺點是增大了資料庫伺服器的連線負擔,並且使得程式依賴資料庫服務才能正常運作。
2、利用檔案鎖定機制。 也就是利用flock
函數透過檔案實現鎖定和互斥機制,來模擬通用程式設計模型下的鎖定原語的工作方式。這種方式
在以前以純文字檔案為儲存引擎的時代成為保護 資料完整性的必備元素,現在在使用文字檔案作為快取媒介的場合也相當常見。
PmWiki
應該也是使用了這個機制來提醒多人同時編輯一個頁面的情形。不過檔案鎖定機制多少會呼叫到宿主作業系統上的檔案
鎖定特性,因此在使用時一定要檢查伺服器作業系統是否為PHP環境提供了完善可靠的檔案鎖定機制。
3、利用共享記憶體空間計數。 PHP可以利用shmop_open
函數開闢一塊記憶體空間,在服務進程之間共享數據,為了保證共享資料的互
斥安全訪問,可以使用sem_get
、 sem_acquire
和sem_release
這組函數實作共享計數鎖定機制。這種辦法在後台實際上是呼叫了系統
的ipc 服務來實作。
#相關學習推薦:PHP程式設計從入門到精通
以上是php如何實現加鎖解鎖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!