php扩展apcu详解_php apcu安装、和使用方法以及会遇到的问题解答

APCu是剥离了操作码缓存的APC。

第一个APCu代码库的​​版本为4.0.0,当时是从APC主分支的头派生的。

从APCu 5.0.0开始提供PHP 7支持。

APCu可以提供兼容模式,从而可以减少对APC适用部件的替换。

说白了就是apc的进化版。

如果需要了解apc的请参考以下链接

| Windos开发环境下如何安装Apcu:下载dll文件,以下链接可以找到对应PHP版本的dll文件,将下载好的文件放到php/ext目录下。常用的版本下载参考地址[php7.0,php7.1,php7.2]

ps:一定要注意自己环境,Architecture的版本是x86 还是64 ,是nts还是nt,可以使用phpinfo()查看

| 修改PHP配置文件

[apcu]

extension=php_apcu.dll

apc.enabled=1

apc.shm_size=64M

apc.ttl=7200

apc.enable_cli=1

apc.serializer=php

| 重启apache,nginx,php-fpm

查看phpinfo(),是否有apcu扩展。

分享一个apcu类库,自己改造一下:<?php

/**

* User: tangyijun

* Date: 2019-09-29

* Time: 14:53

*/

namespace Libs\Apcu;

use Libs\Cache\Cache;

class Apcu extends Cache

{

public function get( $key ) {

if ( !function_exists('apcu_fetch') ) return;

$data = apcu_fetch( $key );

return $data;

}

/**

* @param $key

* @param $data

* @param int $ttl 有效期,默认永久

* @return array|bool|void

*/

public function set( $key, $data, $ttl = 0 ) {

if ( !function_exists('apcu_store') ) return;

return apcu_store( $key, $data, $ttl );

}

/**

* @return bool|void

*/

public function reset(){

if ( !function_exists('apcu_clear_cache') ) return;

return apcu_clear_cache();

}

/**

* @param $key

* @return bool|string[]|void

*/

public function delete($key) {

if ( !function_exists('apcu_delete') ) return;

return apcu_delete($key);

}

}

调用:$a = \Libs\Apcu\Apcu::getInstance()->set('aaaa',112333);

$b = \Libs\Apcu\Apcu::getInstance()->get('aaaa');

var_dump($b);exit;

结果如下图:

ps:apcu 在没有安装扩展的情况下不会导致程序报错, 在cli命令下无效!至于原因在后面来讲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值