ホームページ >バックエンド開発 >PHPチュートリアル >php共有メモリシュモップに関する予備調査

php共有メモリシュモップに関する予備調査

WBOY
WBOYオリジナル
2016-07-28 08:25:351598ブラウズ

まず、読み取りおよび書き込みプログラムに移動します:

<?php
/**
  * SHMOP共享内存操作示例
  * @author monkee
 **/
$key = 0x4337b700;
$size = 4096;
$shmid = @shmop_open($key, &#39;c&#39;, 0644, $size);
if($shmid === FALSE){
	exit(&#39;shmop_open error!&#39;);
}

$data = &#39;世界,你好!我将写入很多的数据,你能罩得住么?&#39;;

$length = shmop_write($shmid, pack(&#39;a*&#39;,$data), 0);
if($length === FALSE){
	exit(&#39;shmop_write error!&#39;);
}

@shmop_close($shmid);

exit(&#39;succ&#39;);
?>

読み取り:

<?php
/**
  * SHMOP共享内存操作示例
  * @author monkee
 **/
$key = 0x4337b700;
$size = 256;
$shmid = @shmop_open($key, &#39;c&#39;, 0644, $size);
if($shmid === FALSE){
	exit(&#39;shmop_open error!&#39;);
}

$data = unpack(&#39;a*&#39;, shmop_read($shmid, 0, 256));
if($data === FALSE){
	exit(&#39;shmop_read error!&#39;);
}
@shmop_close($shmid);

exit($data[1]);
?>
unix/linux コマンドビュー:

 php共享内存shmop初探

key: 共有メモリの一意のキー値を使用して、共有メモリがどのキーを使用するかを決定します。あなたが読んでいる記憶の一部。

shmid: キーを使用してメモリを取得すると、この ID の値が取得されます。これは、操作対象のメモリ ブロックの識別子として機能します。

owner: 共有メモリブロックを作成したユーザー

perms: 共有メモリの読み取りおよび書き込み権限。8 は禁止されていますが、777 にすることができます。ファイルの読み取りおよび書き込み権限と一致します。

bytes: メモリ ブロックのサイズ

natch: メモリ ブロックに接続されているプロセスの数

status: 現在のステータス (dest、削除中など)


上記では、PHP 共有メモリ シュモップに関する予備的な研究を、その側面も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。