php实现共享内存进程通信函数(_shm)
这篇文章主要介绍了关于php实现共享内存进程通信函数(_shm),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
前面介绍了php实现共享内存的一个函数shmop,也应用到了项目中,不过shmop有局限性,那就是只支持字符串类型的;sem经过我的测试,是混合型,支持数组类型,可以直接存储,直接获取,少了多余的步骤格式转换。不过sem有大小限制,shmop可以设置很大很大很大~~~不过也可以再php.ini修改相关配置。
<?php $key = 0x4337b124; $shar_key = 1; // 创建一个共享内存 $shm_id = shm_attach($key, 1024, 0666); // resource type if ($shm_id === false) { die('Unable to create the shared memory segment' . PHP_EOL); } //设置一个值 shm_put_var($shm_id, $shar_key, 'test'); //删除一个key shm_remove_var($shm_id, $shar_key); //获取一个值 $value = shm_get_var($shm_id, $shar_key); var_dump($value); //检测一个key是否存在 var_dump(shm_has_var($shm_id, $shar_key)); //从系统中移除 shm_remove($shm_id); //关闭和共享内存的连接 shm_detach($shm_id);
注意:$shar_key 只能是 int 型的参数。
详细说明
shm_attach
打开建立共享内存空间。
语法: int shm_attach(int key, int [memsize], int [perm]);
返回值: 整数
函数种类: 操作系统与环境
内容说明: 本函数用来打开或者建立共享内存空间。参数 key 为这部分的键。参数 memsize 可省略,表示所需最小的内存空间 (单位为 byte 位组),默认值在 php3.ini 或 php.ini 中的 sysvshm.init_mem 配置,若无配置则为 10000 bytes。参数 perm 亦可省略,为该内存空间的使用权限,默认值为 666。返回值为共享内存的ID 值,可供程序使用。
shm_detach
中止共享内存空间链接。
语法: int shm_detach(int shm_identifier);
返回值: 整数
函数种类: 操作系统与环境
内容说明: 本函数用来中止与共享内存空间的链接。参数 shm_identifier 即为欲停止部分的共享内存 ID 值。
shm_remove
清除内存空间。
语法: int shm_remove(int shm_identifier);
返回值: 整数
函数种类: 操作系统与环境
内容说明: 本函数用来清除共享内存空间的所有资料。参数 shm_identifier 即为欲停止部分的共享内存 ID 值。
shm_put_var
加入或更新内存空间中的变量。
语法: int shm_put_var(int shm_identifier, int variable_key, mixed variable);
返回值: 整数
函数种类: 操作系统与环境
内容说明: 本函数可用来增加或者修改内存空间中变量值。参数 shm_identifier 为欲增加修改的共享内存 ID 值。参数 variable_key 为欲增加修改的变量名称键。参数 variable 为变量的内容,变量的类型可以是倍精确数 (double)、整数 (integer)、字符串 (string) 或者是数组 (array)。
shm_get_var
取得内存空间中指定的变量。
语法: mixed shm_get_var(int shm_identifier, int variable_key);
返回值: 混合类型资料
函数种类: 操作系统与环境
内容说明: 本函数可用来取得内存空间中指定的变量值。参数 shm_identifier 为欲取得的共享内存 ID 值。参数 variable_key 为欲取得的变量名称键。返回值即为指定变量键的值。
shm_remove_var
删除内存空间中指定的变量。
语法: int shm_remove_var(int id, int variable_key);
返回值: 整数
函数种类: 操作系统与环境
内容说明: 本函数可用来删除内存空间中指定的变量值。参数 shm_identifier 为欲除去的共享内存 ID 值。参数 variable_key 为欲删除的变量名称键。
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
PHP代码自动检测(git/svn集成PHP_CodeSniffer)
以上是php实现共享内存进程通信函数(_shm)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

CentOS 和 Ubuntu 的关键差异在于:起源(CentOS 源自 Red Hat,面向企业;Ubuntu 源自 Debian,面向个人)、包管理(CentOS 使用 yum,注重稳定;Ubuntu 使用 apt,更新频率高)、支持周期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社区支持(CentOS 侧重稳定,Ubuntu 提供广泛教程和文档)、用途(CentOS 偏向服务器,Ubuntu 适用于服务器和桌面),其他差异包括安装精简度(CentOS 精

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

CentOS 中配置 IP 地址的步骤:查看当前网络配置:ip addr编辑网络配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0更改 IP 地址:编辑 IPADDR= 行更改子网掩码和网关(可选):编辑 NETMASK= 和 GATEWAY= 行重启网络服务:sudo systemctl restart network验证 IP 地址:ip addr

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

CentOS 安装步骤:下载 ISO 映像并刻录可引导媒体;启动并选择安装源;选择语言和键盘布局;配置网络;分区硬盘;设置系统时钟;创建 root 用户;选择软件包;开始安装;安装完成后重启并从硬盘启动。

在 CentOS 8 中重启网络需执行以下步骤:停止网络服务(NetworkManager)重新加载网络模块(r8169)启动网络服务(NetworkManager)检查网络状态(通过 ping 8.8.8.8)
