您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(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ò),可以把它分享出去讓更多的人看到。
免責(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)容。