php共享内存shmop初探

来源:互联网 发布:历年双十一淘宝销售额 编辑:程序博客网 时间:2024/05/17 02:12

先上读写程序:

<?php/**  * SHMOP共享内存操作示例  * @author monkee **/$key = 0x4337b700;$size = 4096;$shmid = @shmop_open($key, 'c', 0644, $size);if($shmid === FALSE){exit('shmop_open error!');}$data = '世界,你好!我将写入很多的数据,你能罩得住么?';$length = shmop_write($shmid, pack('a*',$data), 0);if($length === FALSE){exit('shmop_write error!');}@shmop_close($shmid);exit('succ');?>

读:

<?php/**  * SHMOP共享内存操作示例  * @author monkee **/$key = 0x4337b700;$size = 256;$shmid = @shmop_open($key, 'c', 0644, $size);if($shmid === FALSE){exit('shmop_open error!');}$data = unpack('a*', shmop_read($shmid, 0, 256));if($data === FALSE){exit('shmop_read error!');}@shmop_close($shmid);exit($data[1]);?>
unix/linux命令查看:


key :共享内存的唯一的key值,共享内存通过该key来判断你读取的是哪一块内存。

shmid:当使用key来获取内存时,你获得的是这个id的值。它作为你操作内存块的标识。

owner:创建该共享内存块的用户

perms:该共享内存的读写权限,8禁止,可以是777,与文件的读写权限一致。

bytes:该内存块的大小

nattch:连接该内存块的进程数

status:当前状态,如:dest,即将删除等。


0 0