APCu 扩充
APCu 扩充是 APC 扩充的升级换代,APC 扩充早已不保护了。这三套扩充只不过都是如前所述 opcode caching 。也是 PHP 另一方面的 opcode 来同时实现的内存潜能。
APCu 的加装就和通常的 PHP 扩充那样,比较简单,最主要的是那个扩充还十分的小。无论浏览却是加装都是秒级能顺利完成的。因此说能十分方便快捷的应用于较大型的工程项目,因此是 PHP 原生植物全力支持的,不须要附加的路由器等等的实用性。
方式表明
内存控制系统通常单厢有的是减少、删掉、查阅、自增等机能都在 APCu 扩充相关联的同时实现。
采用模拟
正常的采用都是比较简单的,他们添加各种类型的数据都能正常存入内存。不过须要注意的是,他们能直接留存对象进入 APCu 内存中,不须要将它序列化或者JSON成字符串,控制系统会自动帮他们序列化。
apcu_add(string $key , mixed $var [, int KaTeX parse error: Expected EOF, got 方 at position 12: ttl = 0 ]) 方式是通常的添加两个内存,ttl 能设置过期时间,也是以秒为单位,如果不设置是长期有效的。注意,APCu 的内存时限在一次 CLI 效,再调用一次 CLI 取不到上次 CLI 中设置的内存文本。而在 PHP-FPM 中,重启 PHP-FPM 或 FastCGI 之后内存会失效。
接下来他们重点测试一下几个不太常见的方式。
apcu_cas(string $key , int $old , int $new) 是将两个 $old 值修改为 $new 值,它只能修改数字类型的文本,如果是字符串的修改会报错。那个函数有什么优势呢?它最大的优势是氢原子性的,也是不受高并发的影响。与等等似的是 apcu_store(string $key , mixed $var [, int $ttl = 0 ]) 方式,不过那个方式只是简单的修改两个内存的文本,如果那个内存的键不存有的话,就新建两个,它不受类型的限制,当然也不具有氢原子性。
apcu_entry(string $key , callable $generator [, int $ttl = 0 ]) 那个函数的作用是如果 $key 那个内存不存有,则执行 $generator 那个匿名函数,并将 $key 做为键值传递进去,然后聚合也是 return 两个文本做为那个内存的值。
最后,如果他们想查阅现阶段控制系统中的所有 APCu 内存重要信息的时候,直接用那个 apcu_cache_info() 函数即可。
总结
当内存中的数据十分多时,它还提供了两个 APCUIterator 迭代器方便快捷他们进行内存重要信息的循环查阅及相关统计。总之,这一套控制系统是十分方便快捷的一套较大型的内存控制系统,在日常开发中完全能尝试用到一些小机能上。