程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Zend_Search_Lucence 中的文件鎖定問題

Zend_Search_Lucence 中的文件鎖定問題

編輯:關於PHP編程

  PHP 中的文件鎖定功能非常的不穩定。特別是和PHP 的版本 和 平台也有很大的關系。今天看了Zend_Search_Lucence 中的解決方案是這樣的:

  先flock 一個文件,lock的模式是:flock($file, LOCK_EX | LOCK_NB),如果下一個進程再次訪問 $file, 那麼因為無法再獲取 flock 的鎖定了,所以會返回一個false,代表文件被鎖定了,不能再進行訪問了。

  在 Zend_Search_Lucence 鎖定的時候主要是:寫索引 讀取索引 優化索引。

  關於 LOCK_NB :

  在linux 下面支持的比較好,但是windows 上,直到 php 5.2.1 才支持。

  所以,要使用 Zend_Search_Lucence 最好 PHP 5.2.1 以上的版本。

  如果版本低於 PHP 5.2.1,進程會一直等待下去(因為windows下, 低於PHP 5.2.1 版本不支持非阻塞模式的鎖定)。

  關於更新索引:更新索引的時候,索引經常會被鎖定。所以不推薦即時的更新索引,建議晚上訪問量比較小的時候再去更新索引。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved