专业网站建设_企业品牌营销 · 北京汇仁智杰科技有限公司

Web前端知識

首頁 > 免費 > Web前端知識 >

PHP 共享內(nèi)存使用與信號控制

來源:北京匯仁智杰科技有限公司   時間:2016-05-19   點擊:

  共享內(nèi)存
  共享內(nèi)存的使用主要是為了能夠在同一臺機器不同的進程中共享一些數(shù)據(jù),比如在多個 php-fpm 進程中共享當前進程的使用情況。這種通信也稱為進程間通信(Inter-Process Communication),簡稱 IPC。
  PHP 內(nèi)置的shmop 擴展(Shared Memory Operations) 提供了一系列共享內(nèi)存操作的函數(shù)(可能是用的人不多吧,這一塊兒的文檔還沒有中文翻譯)。在 Linux 上,這些函數(shù)直接是通過調(diào)用shm*系列的函數(shù)實現(xiàn),而 Winodows 上也通過對系統(tǒng)函數(shù)的封裝實現(xiàn)了同樣的調(diào)用。
  主要函數(shù):
  shmop_close— 關閉共享內(nèi)存塊
  shmop_delete— 刪除共享內(nèi)存塊
  shmop_open— 創(chuàng)建或打開共享內(nèi)存塊
  shmop_read— 從共享內(nèi)存塊中讀取數(shù)據(jù)
  shmop_size— 獲取共享內(nèi)存塊的大小
  shmop_write— 向共享內(nèi)存塊中寫入數(shù)據(jù)
  與此相關的還有一個很重要的函數(shù):ftok,通過文件的 inode 信息(*nix 上通過stat或ls -i命令查看)創(chuàng)建 IPC 的唯一 key(文件/文件夾的 inode 是唯一的)。這個函數(shù)在 Linux 上也是直接調(diào)用同名的系統(tǒng)函數(shù)實現(xiàn),Windows 上還是使用一些封裝。
  有個需要稍微注意的點:shmop_open的第二個參數(shù)是個 flag,類似 fopen 的第二個參數(shù),其取值有以前幾個:
  “a” 只讀訪問;
  “c” 如果內(nèi)存片段不存在,則創(chuàng)建,如果存在,則可讀寫;
  “w” 讀寫;
  “n” 創(chuàng)建新的內(nèi)存片段,如果同樣 key 的已存在,則會創(chuàng)建失敗,這是為了安全使用共享內(nèi)存考慮。
  此外,由于使用的共享內(nèi)存片段是固定長度的,在存儲和讀取的時候要計算好數(shù)據(jù)的長度,不然可能會寫入失敗或者讀取空值。
  信號控制
  既然上面使用到了共享內(nèi)存存儲數(shù)據(jù),就需要考慮是否有多個進程同時寫入數(shù)據(jù)到共享內(nèi)存的情況,是否需要避免沖突。如果是這樣,就需要引入信號量進行控制。
  PHP 也提供了類似的內(nèi)置擴展sysvsem(這個擴展在 Windows 環(huán)境下沒有,文檔中將ftok函數(shù)也歸到這個擴展中,但實際上ftok是在標準函數(shù)庫中提供的,所以在 Windows 下也是可用的)。
  在說信號量控制之前,先說另外一件有意思的事情:看官方文檔你會發(fā)現(xiàn)這里同樣也有共享內(nèi)存操作的函數(shù)(shm_*),因為這其實是同一類別(或者說來自于同一作者)的三個擴展,還有一個是 sysvmsg(隊列消息) 。函數(shù)的實現(xiàn)上稍有差別,但實際做的事情基本相同。這和上文的 shmop 擴展有什么區(qū)別呢?shmop 源碼下的README文件有簡單的說明:
  簡單說來:sysvshm 擴展提供的方法并不是原封不動的存儲用戶的數(shù)據(jù),而是先使用 PHP 的變量序列化函數(shù)對參數(shù)進行序列化然后再進行存儲。這就導致通過這些方法存儲的數(shù)據(jù)無法和非 PHP 進程共享。不過這樣也能存儲更豐富的 PHP 數(shù)據(jù)類型,上文的擴展中shmop_write只能寫入字符串。那么為什么 sysvshm 同樣不支持 Windows 呢?因為其并沒有引入封裝了shm*系列函數(shù)的tsrm_win32.h的頭文件。
  但是本地想模擬實現(xiàn)寫入沖突實際上是非常難的(考慮到計算機的執(zhí)行速度)。在本地測試中,使用for循環(huán)操作時如果不使用shmop_close關閉資源會出現(xiàn)無法打開共享內(nèi)存的錯誤警告。這應該是因為正在共享內(nèi)存被上一次操作占用中還沒有釋放導致。

網(wǎng)絡營銷推廣 . 北京匯仁智杰科技有限公司!

地址:北京市昌平區(qū)回龍觀龍冠大廈5層
咨詢:13370157521
業(yè)務QQ:373002979
E - mail:sales @ huirenzhijie.com
企業(yè)網(wǎng)站備案:京ICP備15021091號-1

匯仁智杰與眾不同

  • 有網(wǎng)絡推廣經(jīng)驗
  • 有網(wǎng)站建站隊伍
  • 有大型網(wǎng)站建設經(jīng)驗
  • 致力于營銷型網(wǎng)站建設
  • 始終堅持技術和服務同樣重要
查看PC版網(wǎng)站
備案號:京ICP備15021091號-1 版權所有:匯仁智杰

主站蜘蛛池模板: 万博瑞升(天津)科技有限公司-管道应力|管道振动|脉动|CAE,CFD 弯箍机_钢筋弯箍机_全自动钢筋弯箍机_数控弯箍机-建科智能装备制造(天津)股份有限公司 | 联系我们-99公司开户电话-99厅| 永磁耦合_重载永磁软起_能量回馈式调速器_磁力耦合器_江苏磁谷科技股份有限公司官方网站 | 廊坊微信营销,廊坊小程序开发,廊坊APP开发(安卓_苹果ios开发),微信朋友圈广告,百度推广,廊坊网络公司品牌服务商-河北盛秋网络科技有限公司 | 河北徐工鲲鹏工程机械有限公司无锡分公司 | 举升机,登高梯,升降平台,升降车,升降机,高空作业平台车 | 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 热门网页游戏平台_页游排行榜_新开网页游戏开服表_599游戏 | 兰舍硅藻泥 -- 深圳硅藻泥|深圳兰舍硅藻泥|深圳硅藻泥品牌|深圳硅藻泥价格|深圳硅藻泥厂家|深圳硅藻泥施工| | 金蝶软件_金蝶湖南公司_长沙金蝶软件_精斗云软件_财务软件_进销存软件_云ERP软件_金蝶软件销售电话 | 华为交换机及防火墙-H3C无线AP-鸿远腾达华为交换机总代理商 | 耐磨锤头|合金锤头|高铬耐磨锤头|破碎机锤头|双金属双液复合锤头_巩义东辰实业 合金耐磨锤头铸造厂 | 外墙涂料_真石漆_真石漆批发_河南宝润达真石漆厂家 | 美国Riverhawk轴承,Riverhawk十字弹簧轴承,Riverhawk联轴器,Riverhawk液压工具 | 射频导纳物位开关|雷达液位计|安全光栅光幕传感器|音叉料位开关|两级跑偏开关|双向拉绳开关|纵向撕裂保护装置-山东卓信机械有限公司 | 紫外线光疗仪|白癜风光疗仪|牛皮癣治疗仪|308纳米led|SIGMA|上海希格玛高技术有限公司 | 举升机,登高梯,升降平台,升降车,升降机,高空作业平台车 | 暖气片,暖气片厂家,散热器,暖气片品牌-青岛瑞雪兆散热器有限公司 | 拉丝模|高晶异形拉丝模|联合拉拔机模具|钼丝拉丝模|金刚石纳米涂层模|焊丝拉丝模|钨钢拉丝模|聚晶拉丝模_河北恩泰利嘉金属制品有限公司 | 猪粪烘干机|小型鸡粪烘干机|猪粪烘干机价格|小型鸡粪烘干机价格 - 河南宏科重工干燥机设备生产厂家 | 辣椒烘干机-百信机械提供大中小型辣椒烘干机房设备视频图片厂家价格多少钱 | 环保除尘设备_燃气/燃油热水锅炉_光氧空气净化器_蒸汽玉米压片机_压片设备_烘干设备-山东金盾节能环保设备有限公司 | 合金锤头_破碎机锤头_耐磨锤头_巩义市东辰铸造 高耐磨合金锤头厂家 | 万博瑞升(天津)科技有限公司-管道应力|管道振动|脉动|CAE,CFD 弯箍机_钢筋弯箍机_全自动钢筋弯箍机_数控弯箍机-建科智能装备制造(天津)股份有限公司 | 投影仪配件,苏州投影仪维修,B60数显表维修-苏州市加野仪器有限公司 | 上海品牌设计公司|品牌策划公司|包装设计公司|上海全案LOGO设计VI设计-木马品牌设计 | 卫生级自吸泵-不锈钢化工离心泵-上海胜欧泵阀有限公司 | 木马交互设计研究中心 ,专注于用户体验与人机交互设计 - 首页 | 进销存软件|仓库管理软件|库存物资出入库|ERP生产|MRP|易特软件官方网站 | 矿用三环链|锻打/焊接三环链|矿车万能环|三环链销子-济宁卓力工矿设备有限公司 | 锯轨机|气动锯轨机|内燃锯轨机|电动钢轨钻孔机|内燃钢轨钻孔机-山东卓力铁路设备有限公司 | 誉瑞仪器是全球知名检测仪器厂商RAE在华东地区的专业级产品销售及授权维修服务商- | 校服定做厂家-屹奥校服-无限能量·校园绽放 | 合肥食品检测-安徽卫生检测-水质检测机构-安徽金标准检测研究院有限公司 | 湖南一体化污水处理设备_二氧化氯发生器_一体化净水处理设备_消毒设备厂家-湖南东环环保科技有限公司 | 太阳能路灯生产厂家-郑州太阳能高杆灯价格-道路照明智能路灯-河南坤德照明 | 苏州不锈钢_江苏不锈钢_江苏不锈钢板_苏州模具钢_苏州合金钢_苏州特种合金_苏州不锈钢板_304不锈钢棒_苏州塞硒五金制品有限公司 苏州ERP定制|苏州CRM|苏州OA|苏州BPM|进销存管理系统-苏州中尚信息科技有限公司 | 太原石膏基自流平,太原轻质抹灰石膏,太原腻子粉,太原抗裂砂浆-太原乔贝建筑材料有限公司 | 开水机-节能开水器-即热式开水器-上海捷水环保科技有限公司 | 浙江微龙科技-微通道工艺结合设备一站式解决方案-致力于连续流技术开发与产业化应用-助力传统医药化工行业转型升级 | 钎头_球齿钎头_一字钎头 - 铜陵狮达矿山机械有限公司 |