您现在的位置: 365建站网 > 365学习 > Zend_Search_Lucence 中的文件锁定问题

Zend_Search_Lucence 中的文件锁定问题

文章来源:365jz.com     点击数:194    更新时间:2009-09-24 22:34   参与评论
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 版本不支持非阻塞模式的锁定)。

关于更新索引:

更新索引的时候,索引经常会被锁定。所以不推荐即时的更新索引,建议晚上访问量比较小的时候再去更新索引。
Tag标签: Lucence,文件锁定

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (194人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------