| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> php本地缓存调研 -> 正文阅读 |
|
[PHP知识库]php本地缓存调研 |
PHP本地缓存有APCu和鸟哥的Yac,从实用角度出发,有以下疑问
带着这些疑问,对两者进行了调研。 一、APCu在 PHP 5.5 之前是没有 OPcache 这个缓存器的,因而 PHP 下有 eAccelerate、XCache、APC 等几大著名的缓存器,但是这些缓存器同时使用会冲突,后来 Zend 官方开发了 PHP 的字节码缓存器OPCache,并且拥有极佳的性能表现,其他缓存器几乎都消亡了。 APC 拥有 字节码缓存和对象缓存两大功能,随着OPCache的崛起,字节码缓存的功能直接被移除了,仅保留了用户缓存,APCu 是APC User 的缩写。 1.1 APCu安装打开 https://pecl.php.net/package/APCu 下载最新的 5.1.21 代码包,进行以下操作编译安装。
1.2 APCu 配置在php.ini 中可以配置一些参数来控制APCu,具体包括
1.3 APCu使用参考 APCu官方手册,并经实际测试,APCu有以下特性
1.3.1 key 和 value的最大大小?经过测试 key 的长队最大为 403 Byte,404字节后, apcu_add 返回成功,但是apcu_fetch 对应的key返回为false 1.3.2 如何了解缓存命中情况?调用 apcu_cache_info方法,可以很方便的知道缓存命中情况,下面是一个返回示例
如果词条非常多,直接执行 apcu_cache_info 代价极大,可以用APCu提供的迭代器相关函数进行操作。 1.3.3 如何查询当前的内存上限?执行 apcu_sma_info(),可以看到当前的内存上限及使用情况,下面是一个结果示例
从 1.2 可知 apc.shm_size 默认值为 32 M=33554432 Byte,比上面 seg_size的值 33554312 多了120 Byte,估计是用于存放共享内存的一些元信息,而从1.3.1 中可知,当前只存储了一个key-value对,该key-value对占用的内存为 184 Byte,实际消耗的内存为 seg_size-avail_mem=33200 Byte,看起来内存利用率似乎比较低。 1.3.4 内存占用超过上限会怎么样?修改 php.ini配置,将最大内存调整为 5M
apcu_sma_info 返回结果如下
从测试来看,如果超过使用内存上限,会把之前的一些键占用的内存释放, 1.3.5 内存释放包括以下场景 1.3.6 和redis性能对比?存储 查询 1.3.7 ttl的精度怎么样?APUc的过期时间是秒级,经过测试,超过$ttl定义的时间后一段时间内,这个数据仍然可以访问到,测试结果是再经过400ms,数据才无法访问,不同硬件这个时间可能会有变化。 二、Yac2.1 Yac安装配置打开 https://pecl.php.net/package/yac 下载 Yac 扩展源码,编译安装。 2.2 Yac使用限制:
相比APCu,Yac不支持设置键的过期时间 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/17 2:49:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |