php shm,PHP 的自带内存共享 APCu 和 shm
APCu
php.ini需要配置:
extension=php_apcu.dll
apc.enabled=1
apc.shm_size=32M
apc.enable_cli=1
具体配置可查看http://php.net/manual/zh/apcu.configuration.php
class APCu
{
public static function get($key)
{
return json_decode(apcu_fetch($key), true);
}
public static function set($key, $data, $ttl)
{
return apcu_store($key, json_encode($data), $ttl);
}
}
if (PHP_SAPI == 'cli' || !function_exists('apcu_store')) {
//不要闹啦 上面说了不支持 cli 模式 和 必须支持APCu扩展的缓存
return;
}
var_dump(Apcu::get("TEST"));
Apcu::set("TEST", ["key" => "value"], 10);
var_dump(Apcu::get("TEST2"));
shm
//使用信号量扩展共享内存
$key = ftok(__FILE__, 'a');
$share_key = 1;
//创建一个共享内存,大小为1024字节,权限为755$
$shm_id = shm_attach($key, 1024, 0755);
var_dump($shm_id);
//将一个key=>value放进共享内存
$message1 = "你好啊1";
shm_put_var($shm_id, $share_key, $message1);
//重复使用key ,前一个设置的值会被后一个设置的值覆盖掉。
$message2 = "你好啊2";
shm_put_var($shm_id, $share_key, $message2);
//读取一个共享内存值
$read_message = shm_get_var($shm_id, $share_key);
echo $read_message . PHP_EOL;
//并不是取走了,而是读取
$read_message2 = shm_get_var($shm_id, $share_key);
echo $read_message2 . PHP_EOL;
//判断共享内存中,某个值是否存在
$isexists = shm_has_var($shm_id, $share_key);
var_dump($isexists);
//删除一个值
shm_remove_var($shm_id, $share_key);
//判断共享内存中,某个值是否存在
$isexists = shm_has_var($shm_id, $share_key);
var_dump($isexists);
//删除一个共享内存
shm_remove($shm_id);
//关闭共享内存的连接
shm_detach($shm_id);
本作品采用《CC 协议》,转载必须注明作者和本文链接
php shm,PHP 的自带内存共享 APCu 和 shm相关推荐
- shm 共享内存 android,C++下shm共享内存模块
共享内存(这是IPC最快捷的方式) 是什么 我的第一个服务器项目分了前后端,而其中前后端的数据通讯就是使用shm共享内存的方式,所以对于这块会比较有感觉. 1.共享内存是在多个进程之间共享内存区域的一 ...
- linux c 内存共享
一.什么是共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存.共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式.不同进程之间共享的内存通常安排为同一段物理内存. ...
- Delphi7 内存管理及 FastMM 研究 (对于EXE和DLL内存共享很有用) .
[转] Delphi7 内存管理及 FastMM 研究 (对于EXE和DLL内存共享很有用) 故国之晚秋 发表于2010-12-06 19:34 浏览(32) 评论(0) 分类: 我的日记 ...
- 修改oracle+sga+size,oracle自动内存共享管理测试。修改 oracle 11g SGA_MAX_SIZE。
目的,使用oracle 自动内存共享管理 基本都是修改过程.如需整理,请留言 SQL>show parameters target; NAME ...
- 32查运行内存的map文件_Linux进程间通信——内存共享映射
一.概念 什么是内存共享映射? 将磁盘文件的一部分直接映射到内存中 共享内存,就是两个或多个进程都可以访问的同一块内存空间,一个进程对这块空间内容的修改可为其他参与通信的进程所看到的 映射种类 共享映 ...
- c语言中读取内存的文件,c++从内存中读取文件内容,内容写到内存 实现文件的内存共享代码实例...
使用c++代码进行内存共享操作,内存共享可以通过key value的形式来保存内存,后面可以使用key值来直接读取内存,效率会很高/ 函数说明: shmget(key_t key, size_t si ...
- group by 和 left join 哪个慢_手机自带内存和扩展内存一样吗?哪个更好?
前个月,无意中看到某手机的营销文案,运存4GB,总内存可达256GB.明眼人自然可以看到,这不过是通过TF卡扩展内存得到总256GB.因为还没有见过那个机器用4+256的组合的,常见都是4+32,4+ ...
- 标准C++类std::string的内存共享和Copy-On-Write(写时拷贝)
标准C++类std::string的内存共享,值得体会: 详见大牛:https://www.douban.com/group/topic/19621165/ 顾名思义,内存共享,就是两个乃至更多的对象 ...
- 进程间内存共享问题[转]
http://www.vkfz.com/net-CreateFileMapping-t55403.htm playroc 发表于 2006-2-27 23:21:08 超级难题:.net 中Creat ...
最新文章
- 一起谈.NET技术,.NET 打包入门
- wxWidgets利用透明图片自定义工具条
- 地球上最快的速度......
- python 示例_在Python中带有示例的while关键字
- MKNetworkKit 使用
- HIve的概念,发展,历史,部署,入门,加载数据
- ajax post请求怎么传参_如何在$ ajax POST中传递参数?
- Google 周三宣布新版Google Trend上线
- 航天器轨迹预测——根据速度和位置确定初轨
- 教程|教你如何给你的头像添加一个好看的国旗
- X光,CT扫描,核磁共振的区别
- java中choice用法,批处理中choice用法
- TS中限制某种类型的传递
- CSS 获取当前可视屏幕高度--使用calc()方法动态计算宽度或者高度
- Get UWP Version(不使用额外的nuget包或SDK)
- R新建空矩阵循环放数据
- BERT四大下游任务
- AI文娱独角兽Video++极链科技完成C1轮,5个月融资10.7亿元
- 微服务SpringCloud的平台架构及原理分析
- 取消漫游费,移动通信服务资费对农村用户来说不公平