<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 隊列在編程中的實際應(yīng)用(php)-php技巧

    時間:2024-05-23 14:51:36 PHP 我要投稿
    • 相關(guān)推薦

    隊列在編程中的實際應(yīng)用(php)-php技巧

      隊列在編程中的實際應(yīng)用(php)_php技巧

      一:隊列的概念、數(shù)據(jù)結(jié)構(gòu)

      隊列(Queue)是運算受到限制的一種線性表。只允許在表的一端進行插入,而在另一端進行刪除元素的線性表。隊尾(rear)是允許插入的一端。隊頭(front)是允許刪除的一端。空隊列是不含元素的空表。

      假設(shè)有個隊列Q=(a1,a2,…,an),則a1為隊頭元素,an為隊尾元素。元素入隊的次序為a1,a2,…,an,而出隊的次序為a1,a2,…,an。可見隊列的操作是按照先進先出的原則進行的。

      其他詳細(xì)的介紹請在網(wǎng)上搜索很多資料。

      二:PHP的'隊列

      在PHP中隊列以數(shù)組的形式表現(xiàn)。數(shù)組中的第一個元素作為隊頭,最后一個元素作為隊尾,這樣就可以操作這個隊列了。

      結(jié)果就是

      網(wǎng)上有很多封裝好的類,可以直接使用。

      array_push:將一個或多個單元壓入數(shù)組的末尾(入棧)

      array_unshift:在數(shù)組開頭插入一個或多個單元

      array_pop:將數(shù)組最后一個單元彈出(出棧)

      array_shift:將數(shù)組開頭的單元移出數(shù)組

      三:Ruby Starling

      Starling是一個支持MemCache協(xié)議的輕量級持久化服務(wù)器。Starling是讓創(chuàng)建網(wǎng)絡(luò)訪問隊列或者多個隊列異常簡單,也就是說多點和多臺機器間的異步工作進程。它是著名微博客網(wǎng)站Twitter開發(fā)用來處理大量的隊列消息,以及保持服務(wù)的響應(yīng)。Starling已經(jīng)在生產(chǎn)環(huán)境中使用,不僅是Twitter在使用,F(xiàn)iveRuns同樣在使用。FiveRuns甚至還根據(jù)自己的應(yīng)用做了改進。

      Starling和Memcache使用的是一個協(xié)議只是端口不一樣。Starling使用的是22122端口,Memcache使用的是11211端口。

      Rubytar xzvf ruby-1.9.1-p0.tar.gzcd ruby-1.9.1-p0./configure --prefix=/usr/local/huiyangrubymake make installGemtar -zxvf rubygems-1.3.6.tgzcd rubygems-1.3.6ruby setup.rbStarlinggem install memcache-client starlingstarlingstarling & //后臺執(zhí)行starling_top //查看PS信息

      接下來你就可以使用隊列做自己的事情啦。Starling和Memcache用法一樣,兩者配合處理更佳。

      使用Memcache::addServer可以建立一個memcache連接池。他不同于connect與pconnect他是在有請求是才連接,無則端口連接。

      Memcache::connect -- 打開一個到Memcache的連接。

      Memcache::pconnect -- 打開一個到Memcache的長連接。

      Memcache::close -- 關(guān)閉一個Memcache的連接。

      Memcache::set -- 保存數(shù)據(jù)到Memcache服務(wù)器上。

      Memcache::get -- 提取一個保存在Memcache服務(wù)器上的數(shù)據(jù)。

      Memcache::replace -- 替換一個已經(jīng)存在Memcache服務(wù)器上的項目(功能類似Memcache::set)。

      Memcache:: -- 從Memcache服務(wù)器上刪除一個保存的項目。

      Memcache::flush -- 刷新所有Memcache服務(wù)器上保存的項目(類似于刪除所有的保存的項目)。

      Memcache::getStats -- 獲取當(dāng)前Memcache服務(wù)器運行的狀態(tài)。

      四:張宴作品HTTPSQS

      HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 協(xié)議的輕量級開源簡單消息隊列服務(wù),使用 Tokyo Cabinet 的 B+Tree Key/Value 數(shù)據(jù)庫來做數(shù)據(jù)的持久化存儲。

      五:隊列的應(yīng)用

      隊列可以很好地異步處理數(shù)據(jù)傳送和存儲,當(dāng)你頻繁地向數(shù)據(jù)庫中插入數(shù)據(jù)、頻繁地向搜索引擎提交數(shù)據(jù),就可采取隊列來異步插入。另外,還可以將較慢的處理邏輯、有并發(fā)數(shù)量限制的處理邏輯,通過消息隊列放在后臺處理,例如FLV視頻轉(zhuǎn)換、發(fā)送手機短信、發(fā)送電子郵件等。

    【隊列在編程中的實際應(yīng)用(php)-php技巧】相關(guān)文章:

     PHP的基礎(chǔ)編程與應(yīng)用10-16

    關(guān)于php面試寶典及PHP面試技巧08-16

    《PHP編程最快明白》第八講:php啟發(fā)和小結(jié)07-13

    php多進程編程詳解201706-04

    PHP中curl的使用實例07-31

    PHP中關(guān)于類的定義10-02

    MongoDB的PHP驅(qū)動方法與技巧大全09-08

    關(guān)于編程之PHP常用MySql操作的方法06-26

    PHP中函數(shù)的使用說明09-01

    PHP中的排序函數(shù)區(qū)別分析08-23

    主站蜘蛛池模板: 91视频国产精品| 成人亚洲日韩精品免费视频| 精品午夜久久福利大片| 日韩在线精品一二三区| 精品人妻码一区二区三区| 国产在线精品免费aaa片| 欧美精品区一级片免费播放| 久久亚洲国产欧洲精品一| 婷婷成人国产精品| 99久久综合国产精品二区| 日本精品一区二区三区四区| 国产精品亚洲片在线va| 午夜天堂精品久久久久| 久久国产成人精品国产成人亚洲| 国产精品影音先锋| 久久成人国产精品| 亚洲国产精品成人| 国产在线国偷精品免费看| 久久久久夜夜夜精品国产| 久久这里有精品视频| 国产精品高清在线观看| 久久99国产精品久久久| AV无码精品一区二区三区| 久久精品成人免费观看97| 国产高清在线精品一本大道国产| 国产亚洲精品国产| 1000部精品久久久久久久久| 久久精品免费大片国产大片| 国产福利电影一区二区三区,亚洲国模精品一区 | 成人区人妻精品一区二区不卡网站| 国产欧美一区二区精品性色99| 欧美精品黑人粗大免费| 精品伦精品一区二区三区视频| 国产精品美女网站在线观看| 久久精品a亚洲国产v高清不卡| 精品国产亚洲一区二区在线观看| 久久99精品久久久久久久久久| 亚洲精品无码mv在线观看网站| 中文字幕无码久久精品青草| 亚洲精品国产高清不卡在线 | 精品三级在线观看|