成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

作為php了解一下共享內(nèi)存的概念及優(yōu)缺點(diǎn)

solocoder / 3343人閱讀

摘要:共享內(nèi)存的使用是一種在進(jìn)程之間交換數(shù)據(jù)的快速方法,主要因?yàn)樵趧?chuàng)建內(nèi)存段之后傳遞數(shù)據(jù),不會(huì)涉及內(nèi)核。使用共享內(nèi)存,沒(méi)有會(huì)減緩開(kāi)發(fā)人員的進(jìn)度。不要低估共享內(nèi)存在應(yīng)用程序中的力量。

共享內(nèi)存是一種在相同機(jī)器中兩個(gè)正在運(yùn)行的進(jìn)程之間共享和傳遞數(shù)據(jù)的有效方式,不同進(jìn)程之間共享的內(nèi)存通常安排為同一段物理內(nèi)存;顧名思義,共享內(nèi)存就是允許兩個(gè)不相關(guān)的進(jìn)程訪問(wèn)同一個(gè)邏輯內(nèi)存。一個(gè)進(jìn)程可創(chuàng)建一個(gè)可供其他進(jìn)程訪問(wèn)的內(nèi)存段,只要它分配了正確的權(quán)限。每個(gè)內(nèi)存段擁有一個(gè)惟一的 ID(稱為 shmid),這個(gè) ID 指向一個(gè)物理內(nèi)存區(qū)域,其他進(jìn)程可在該區(qū)域操作它。創(chuàng)建并提供了合適的權(quán)限之后,同一臺(tái)機(jī)器中的其他進(jìn)程就可以操作這些內(nèi)存段:讀取、寫(xiě)入和刪除,如果某個(gè)進(jìn)程向共享內(nèi)存寫(xiě)入數(shù)據(jù),所做的改動(dòng)將立即影響到可以訪問(wèn)同一段共享內(nèi)存的任何其他進(jìn)程。

這表明使用 C 語(yǔ)言編寫(xiě)的應(yīng)用程序可與使用其他語(yǔ)言(比如 Java 或 PHP)編寫(xiě)的應(yīng)用程序共享信息。共享內(nèi)存在針對(duì)大部分語(yǔ)言的實(shí)現(xiàn)中得到了廣泛使用,所以訪問(wèn)應(yīng)該不是問(wèn)題。要理解信息,我們可以使用一種標(biāo)準(zhǔn)格式,比如 XML 或 JSON。

共享內(nèi)存的使用是一種在進(jìn)程之間交換數(shù)據(jù)的快速方法,主要因?yàn)樵趧?chuàng)建內(nèi)存段之后傳遞數(shù)據(jù),不會(huì)涉及內(nèi)核。這種方法常常稱為進(jìn)程間通信 (IPC)。其他 IPC 方法包括管道、消息隊(duì)列、RPC 和套接字。當(dāng)使用需要彼此通信的應(yīng)用程序的生態(tài)系統(tǒng)時(shí),這種在應(yīng)用程序之間快速、可靠地交換數(shù)據(jù)的能力非常有用。取決于生態(tài)系統(tǒng)的大小,使用數(shù)據(jù)庫(kù)在應(yīng)用程序之間交換信息的常用方法常常會(huì)導(dǎo)致查詢緩慢,甚至 I/O 阻塞。使用共享內(nèi)存,沒(méi)有 I/O 會(huì)減緩開(kāi)發(fā)人員的進(jìn)度。

共享內(nèi)存并未提供同步機(jī)制,也就是說(shuō),在第一個(gè)進(jìn)程結(jié)束對(duì)共享內(nèi)存的寫(xiě)操作之前,并無(wú)自動(dòng)機(jī)制可以阻止第二個(gè)進(jìn)程開(kāi)始對(duì)它進(jìn)行讀取。所以我們通常需要用其他的機(jī)制來(lái)同步對(duì)共享內(nèi)存的訪問(wèn)。

本文的提議非常簡(jiǎn)單,學(xué)習(xí)如何使用 PHP 創(chuàng)建和操作共享內(nèi)存段,使用它們存儲(chǔ)可供其他應(yīng)用程序使用的數(shù)據(jù)集。即使沒(méi)有使用共享內(nèi)存交換數(shù)據(jù)的計(jì)劃,它本身也在許多好處,因?yàn)樗箲?yīng)用程序能夠遠(yuǎn)離 I/O 問(wèn)題。將數(shù)據(jù)集直接存儲(chǔ)在內(nèi)存中具有諸多優(yōu)勢(shì),從 Web 服務(wù)數(shù)據(jù)緩存到會(huì)話共享。它是一個(gè)非常有用的概念,每個(gè) PHP 開(kāi)發(fā)人員都應(yīng)該知道。

使用共享內(nèi)存的優(yōu)缺點(diǎn)
1、優(yōu)點(diǎn):我們可以看到使用共享內(nèi)存進(jìn)行進(jìn)程間的通信真的是非常方便,而且函數(shù)的接口也簡(jiǎn)單,數(shù)據(jù)的共享還使進(jìn)程間的數(shù)據(jù)不用傳送,而是直接訪問(wèn)內(nèi)存,也加快了程序的效率。同時(shí),它也不像匿名管道那樣要求通信的進(jìn)程有一定的父子關(guān)系。

2、缺點(diǎn):共享內(nèi)存沒(méi)有提供同步的機(jī)制,這使得我們?cè)谑褂霉蚕韮?nèi)存進(jìn)行進(jìn)程間通信時(shí),往往要借助其他的手段來(lái)進(jìn)行進(jìn)程間的同步工作。

我們可以使用共享內(nèi)存作為一種獨(dú)特的存儲(chǔ)選項(xiàng),提供快速讀/寫(xiě)操作和進(jìn)程互操作性等優(yōu)勢(shì)。對(duì)于 Web 應(yīng)用程序,這意味著:

緩存存儲(chǔ)(數(shù)據(jù)庫(kù)查詢、Web 服務(wù)數(shù)據(jù)、外部數(shù)據(jù))
會(huì)話存儲(chǔ)
應(yīng)用程序之間的數(shù)據(jù)交換
此存儲(chǔ)技術(shù)不僅對(duì)緩存有用,也對(duì)應(yīng)用程序之間的數(shù)據(jù)交換也有用,只要數(shù)據(jù)以兩端都可讀的格式存儲(chǔ)。不要低估共享內(nèi)存在 Web 應(yīng)用程序中的力量。可采用許多不同的方式來(lái)巧妙地實(shí)現(xiàn)這種存儲(chǔ),惟一的限制是開(kāi)發(fā)人員的創(chuàng)造力和技能。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/62002.html

相關(guān)文章

  • 作為php了解一下共享內(nèi)存的概念及優(yōu)缺點(diǎn)

    摘要:共享內(nèi)存的使用是一種在進(jìn)程之間交換數(shù)據(jù)的快速方法,主要因?yàn)樵趧?chuàng)建內(nèi)存段之后傳遞數(shù)據(jù),不會(huì)涉及內(nèi)核。使用共享內(nèi)存,沒(méi)有會(huì)減緩開(kāi)發(fā)人員的進(jìn)度。不要低估共享內(nèi)存在應(yīng)用程序中的力量。 共享內(nèi)存是一種在相同機(jī)器中兩個(gè)正在運(yùn)行的進(jìn)程之間共享和傳遞數(shù)據(jù)的有效方式,不同進(jìn)程之間共享的內(nèi)存通常安排為同一段物理內(nèi)存;顧名思義,共享內(nèi)存就是允許兩個(gè)不相關(guān)的進(jìn)程訪問(wèn)同一個(gè)邏輯內(nèi)存。一個(gè)進(jìn)程可創(chuàng)建一個(gè)可供其他進(jìn)...

    ShevaKuilin 評(píng)論0 收藏0
  • php簡(jiǎn)單使用shmop函數(shù)創(chuàng)建共享內(nèi)存減少服務(wù)器負(fù)載

    摘要:請(qǐng)注意,此函數(shù)返回一個(gè)編號(hào),其他函數(shù)可使用該編號(hào)操作該共享內(nèi)存段。從內(nèi)存段讀取數(shù)據(jù)從共享內(nèi)存段讀取數(shù)據(jù)很簡(jiǎn)單。函數(shù)將該內(nèi)存段標(biāo)記為刪除,阻止任何其他進(jìn)程打開(kāi)它。 在之前的一篇博客[了解一下共享內(nèi)存的概念及優(yōu)缺點(diǎn)]已經(jīng)對(duì)共享內(nèi)存的概念做了說(shuō)明。下面就來(lái)簡(jiǎn)單使用共享內(nèi)存(其實(shí)也可以用其他工具,比如redis) PHP做內(nèi)存共享有兩套接口。一個(gè)是shm,它實(shí)際上是變量共享,會(huì)把對(duì)象變量序列化...

    PingCAP 評(píng)論0 收藏0
  • php簡(jiǎn)單使用shmop函數(shù)創(chuàng)建共享內(nèi)存減少服務(wù)器負(fù)載

    摘要:請(qǐng)注意,此函數(shù)返回一個(gè)編號(hào),其他函數(shù)可使用該編號(hào)操作該共享內(nèi)存段。從內(nèi)存段讀取數(shù)據(jù)從共享內(nèi)存段讀取數(shù)據(jù)很簡(jiǎn)單。函數(shù)將該內(nèi)存段標(biāo)記為刪除,阻止任何其他進(jìn)程打開(kāi)它。 在之前的一篇博客[了解一下共享內(nèi)存的概念及優(yōu)缺點(diǎn)]已經(jīng)對(duì)共享內(nèi)存的概念做了說(shuō)明。下面就來(lái)簡(jiǎn)單使用共享內(nèi)存(其實(shí)也可以用其他工具,比如redis) PHP做內(nèi)存共享有兩套接口。一個(gè)是shm,它實(shí)際上是變量共享,會(huì)把對(duì)象變量序列化...

    smartlion 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<