溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php實(shí)現(xiàn)共享內(nèi)存進(jìn)程通信函數(shù)之shm的方法

發(fā)布時(shí)間:2020-10-15 17:23:33 來源:億速云 閱讀:266 作者:小新 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)php實(shí)現(xiàn)共享內(nèi)存進(jìn)程通信函數(shù)之shm的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

<?php
$key = 0x4337b124;  
$shar_key = 1;
// 創(chuàng)建一個(gè)共享內(nèi)存
$shm_id = shm_attach($key, 1024, 0666); // resource type
if ($shm_id === false) {
    die('Unable to create the shared memory segment' . PHP_EOL);
}
//設(shè)置一個(gè)值
shm_put_var($shm_id, $shar_key, 'test');
//刪除一個(gè)key
shm_remove_var($shm_id, $shar_key);
//獲取一個(gè)值
$value = shm_get_var($shm_id,  $shar_key);
var_dump($value);
//檢測(cè)一個(gè)key是否存在
var_dump(shm_has_var($shm_id,  $shar_key));
//從系統(tǒng)中移除
shm_remove($shm_id);
//關(guān)閉和共享內(nèi)存的連接
shm_detach($shm_id);

注意:$shar_key 只能是 int 型的參數(shù)。

詳細(xì)說明

shm_attach

打開建立共享內(nèi)存空間。

語法: int shm_attach(int key, int [memsize], int [perm]);

返回值: 整數(shù)

函數(shù)種類: 操作系統(tǒng)與環(huán)境

內(nèi)容說明: 本函數(shù)用來打開或者建立共享內(nèi)存空間。參數(shù) key 為這部分的鍵。參數(shù) memsize 可省略,表示所需最小的內(nèi)存空間 (單位為 byte 位組),默認(rèn)值在 php3.ini 或 php.ini 中的 sysvshm.init_mem 配置,若無配置則為 10000 bytes。參數(shù) perm 亦可省略,為該內(nèi)存空間的使用權(quán)限,默認(rèn)值為 666。返回值為共享內(nèi)存的ID 值,可供程序使用。

shm_detach

中止共享內(nèi)存空間鏈接。

語法: int shm_detach(int shm_identifier);

返回值: 整數(shù)

函數(shù)種類: 操作系統(tǒng)與環(huán)境

內(nèi)容說明: 本函數(shù)用來中止與共享內(nèi)存空間的鏈接。參數(shù) shm_identifier 即為欲停止部分的共享內(nèi)存 ID 值。

shm_remove

清除內(nèi)存空間。

語法: int shm_remove(int shm_identifier);

返回值: 整數(shù)

函數(shù)種類: 操作系統(tǒng)與環(huán)境

內(nèi)容說明: 本函數(shù)用來清除共享內(nèi)存空間的所有資料。參數(shù) shm_identifier 即為欲停止部分的共享內(nèi)存 ID 值。

shm_put_var

加入或更新內(nèi)存空間中的變量。

語法: int shm_put_var(int shm_identifier, int variable_key, mixed variable);

返回值: 整數(shù)

函數(shù)種類: 操作系統(tǒng)與環(huán)境

內(nèi)容說明: 本函數(shù)可用來增加或者修改內(nèi)存空間中變量值。參數(shù) shm_identifier 為欲增加修改的共享內(nèi)存 ID 值。參數(shù) variable_key 為欲增加修改的變量名稱鍵。參數(shù) variable 為變量的內(nèi)容,變量的類型可以是倍精確數(shù) (double)、整數(shù) (integer)、字符串 (string) 或者是數(shù)組 (array)。

shm_get_var

取得內(nèi)存空間中指定的變量。

語法: mixed shm_get_var(int shm_identifier, int variable_key);

返回值: 混合類型資料

函數(shù)種類: 操作系統(tǒng)與環(huán)境

內(nèi)容說明: 本函數(shù)可用來取得內(nèi)存空間中指定的變量值。參數(shù) shm_identifier 為欲取得的共享內(nèi)存 ID 值。參數(shù) variable_key 為欲取得的變量名稱鍵。返回值即為指定變量鍵的值。

shm_remove_var

刪除內(nèi)存空間中指定的變量。

語法: int shm_remove_var(int id, int variable_key);

返回值: 整數(shù)

函數(shù)種類: 操作系統(tǒng)與環(huán)境

內(nèi)容說明: 本函數(shù)可用來刪除內(nèi)存空間中指定的變量值。參數(shù) shm_identifier 為欲除去的共享內(nèi)存 ID 值。參數(shù) variable_key 為欲刪除的變量名稱鍵。

關(guān)于php實(shí)現(xiàn)共享內(nèi)存進(jìn)程通信函數(shù)之shm的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI