php共享内存shmop初探

先上读写程序:

<?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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值