一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

隊列在編程中的實(shí)際應用(php)-php技巧

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

隊列在編程中的實(shí)際應用(php)-php技巧

  隊列在編程中的實(shí)際應用(php)_php技巧

  一:隊列的概念、數據結構

  隊列(Queue)是運算受到限制的一種線(xiàn)性表。只允許在表的一端進(jìn)行插入,而在另一端進(jìn)行刪除元素的線(xiàn)性表。隊尾(rear)是允許插入的一端。隊頭(front)是允許刪除的一端?贞犃惺遣缓氐目毡。

  假設有個(gè)隊列Q=(a1,a2,…,an),則a1為隊頭元素,an為隊尾元素。元素入隊的次序為a1,a2,…,an,而出隊的次序為a1,a2,…,an?梢(jiàn)隊列的操作是按照先進(jìn)先出的原則進(jìn)行的。

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

  二:PHP的'隊列

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

  結果就是

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

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

  array_unshift:在數組開(kāi)頭插入一個(gè)或多個(gè)單元

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

  array_shift:將數組開(kāi)頭的單元移出數組

  三:Ruby Starling

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

  Starling和Memcache使用的是一個(gè)協(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 & //后臺執行starling_top //查看PS信息

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

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

  Memcache::connect -- 打開(kāi)一個(gè)到Memcache的連接。

  Memcache::pconnect -- 打開(kāi)一個(gè)到Memcache的長(cháng)連接。

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

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

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

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

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

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

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

  四:張宴作品HTTPSQS

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

  五:隊列的應用

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

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

 PHP的基礎編程與應用10-16

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

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

php多進(jìn)程編程詳解201706-04

PHP中curl的使用實(shí)例07-31

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

MongoDB的PHP驅動(dòng)方法與技巧大全09-08

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

PHP中函數的使用說(shuō)明09-01

PHP中的排序函數區別分析08-23

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看