最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單談?wù)?php 文件鎖

 更新時間:2017年02月19日 16:54:52   作者:hlcc  
PHP出現(xiàn)文件鎖與mysql表鎖有大概想的用法,就是同一時間只能讓一個人操作,這樣就避免了同時有多個人操作同一文件,這樣導(dǎo)致數(shù)據(jù)丟失的情況了,下面我來給大家介紹PHP文件鎖用法。

鎖機(jī)制之所以存在是因?yàn)椴l(fā)導(dǎo)致的資源競爭,為了確保操作的有效性和完整性,可以通過鎖機(jī)制將并發(fā)狀態(tài)轉(zhuǎn)換成串行狀態(tài)。作為鎖機(jī)制中的一種,PHP的文件鎖也是為了應(yīng)對資源競爭。假設(shè)一個應(yīng)用場景,在存在較大并發(fā)的情況下,通過fwrite向文件尾部多次有序的寫入數(shù)據(jù),不加鎖的情況下會發(fā)生什么?多次有序的寫入操作相當(dāng)于一個事務(wù),我們此時需要保證這個事務(wù)的完整性。

如果我們有兩個程序同時向某個文件中寫入數(shù)據(jù),為了保證數(shù)據(jù)的完整性,可以加一個文件鎖,先讓程序1執(zhí)行,程序1執(zhí)行完后,解鎖,再讓程序2執(zhí)行。實(shí)現(xiàn)代碼如下:

$fp = fopen('test.txt',"a");
$count = 10;
if (flock($fp, LOCK_EX)) {
for($i=1;$i<$count;$i++){
fwrite($fp, 'text2_'.$i."rn");
echo "test2".date('h:i:s') . "
";
sleep(1); 
echo "test2".date('h:i:s');
}
flock($fp , LOCK_UN);
}else{
echo "Couldn't lock the file !";
}
fclose($fp);

相關(guān)文章

  • PHP+redis實(shí)現(xiàn)的購物車單例類示例

    PHP+redis實(shí)現(xiàn)的購物車單例類示例

    這篇文章主要介紹了PHP+redis實(shí)現(xiàn)的購物車單例類,涉及php連接、操作redis數(shù)據(jù)庫及購物車功能相關(guān)定義與使用技巧,需要的朋友可以參考下
    2019-02-02
  • Ajax+PHP 邊學(xué)邊練之四 表單

    Ajax+PHP 邊學(xué)邊練之四 表單

    通過上一篇文章已經(jīng)了解到如何利用Ajax和PHP對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)讀取,這樣可以動態(tài)的獲取到數(shù)據(jù)庫的最新數(shù)據(jù)。本篇則繼續(xù)介紹通過表單(Form)向數(shù)據(jù)庫中寫入數(shù)據(jù)。
    2009-11-11
  • php microtime獲取浮點(diǎn)的時間戳

    php microtime獲取浮點(diǎn)的時間戳

    看到別人的源碼中用microtime(true),查了下手冊,原來從PHP 5.0.0 開始,microtime增加了這個參數(shù)。
    2010-02-02
  • php對大文件進(jìn)行讀取操作的實(shí)現(xiàn)代碼

    php對大文件進(jìn)行讀取操作的實(shí)現(xiàn)代碼

    在php中,對于文件的讀取時,最快捷的方式莫過于使用一些諸如file、file_get_contents之類的函數(shù),簡簡單單的幾行代碼就能很漂亮的完成我們所需要的功能。但當(dāng)所操作的文件是一個比較大的文件時,這些函數(shù)可能就顯的力不從心, 下面將從一個需求入手來說明對于讀取大文件時,常用的操作方法
    2013-01-01
  • PHP cron中的批處理

    PHP cron中的批處理

    如果 Web 應(yīng)用程序中的一個特性需要超過 1 秒或 2 秒才能完成,那么應(yīng)該怎么辦?需要某種離線處理解決方案。學(xué)習(xí)幾種對 PHP 應(yīng)用程序中長時間運(yùn)行的作業(yè)進(jìn)行離線服務(wù)的方法。
    2008-09-09
  • Thinkphp結(jié)合AJAX長輪詢實(shí)現(xiàn)PC與APP推送詳解

    Thinkphp結(jié)合AJAX長輪詢實(shí)現(xiàn)PC與APP推送詳解

    這篇文章主要給大家介紹了關(guān)于Thinkphp結(jié)合AJAX長輪詢實(shí)現(xiàn)PC與APP推送的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • php XPath對XML文件查找及修改實(shí)現(xiàn)代碼

    php XPath對XML文件查找及修改實(shí)現(xiàn)代碼

    php XPath對XML文件查找及修改實(shí)現(xiàn)代碼,需要的朋友可以參考下。
    2011-07-07
  • mac系統(tǒng)下為 php 添加 pcntl 擴(kuò)展

    mac系統(tǒng)下為 php 添加 pcntl 擴(kuò)展

    pcntl中php實(shí)現(xiàn)多進(jìn)程必須要安裝的擴(kuò)展,本文給大家簡單介紹下如何在mac系統(tǒng)中為 php 添加 pcntl 擴(kuò)展
    2016-08-08
  • php查詢ip所在地的方法

    php查詢ip所在地的方法

    這篇文章主要介紹了php查詢ip所在地的方法,涉及對純真ip數(shù)據(jù)庫的實(shí)用,是非常常見的實(shí)用技巧,需要的朋友可以參考下
    2014-12-12
  • php編程每天必學(xué)之驗(yàn)證碼

    php編程每天必學(xué)之驗(yàn)證碼

    php編程每天必學(xué)之驗(yàn)證碼,php驗(yàn)證碼圖片生成以及頁面實(shí)現(xiàn)驗(yàn)證碼功能進(jìn)行了詳細(xì)的闡述,感興趣的小伙伴們可以參考一下
    2016-03-03

最新評論

广西| 古浪县| 扎囊县| 高雄市| 丹江口市| 巩留县| 叶城县| 凭祥市| 华阴市| 繁峙县| 龙岩市| 福海县| 江城| 丰都县| 修水县| 乃东县| 苍溪县| 鄱阳县| 石泉县| 宁化县| 京山县| 华亭县| 佳木斯市| 梨树县| 曲靖市| 定西市| 海林市| 临清市| 杂多县| 丹凤县| 阜平县| 新干县| 东安县| 邵阳县| 安化县| 肥城市| 阳谷县| 云阳县| 花垣县| 修水县| 沅江市|