php中apc缓存使用示例
记的以前php文件上传到服务器时需要先用zend guard加密下,有了apc就不用了。 从维基百科上看到的消息,apc将被内置在php6中,所以apc还是值的学习下的。
1、安装扩展
在ubuntu 12.04可以直接通过apt-get install php-apc安装apc扩展。
关于windows系统,笔者以前曾在windows下安装过apc,只是运行不稳定,不晓得现在解决了没有。在windows下可以用wincache替代apc,微软自己开发的,非常稳定。
Tips:安装完成后,要记的重启下web服务器。
2、下载apc.php
下载地址:apc_php.zip
apc.php这个脚本可以查看apc的使用情况。界面如下:
其中有两个选项卡可以稍微关注下:
1 System Cache Entries:这个表示系统缓存选项,都是缓存一些php文件的中间码。
2 User Cache Entries:表示用户数据的缓存,在编码中可以将用户的数据缓存到apc。如果要查看用户数据缓存,需要先修改访问的账号和密码。打开apc.php文件,找到如下两行代码进行修改就可以了:
defaults('ADMIN_USERNAME','apc'); // Admin Username
defaults('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE!!!
3、apc使用示例
apc使用起来非常简单,看下面的几个增加、查询、修改、删除示例。
增加一个缓存,有效时间为3600秒
apc_add('name', 'tom', 3600);
执行代码,然后查看User Cache Entries,可以看到多了一条键值为name的缓存数据:
其中有命中次数、大小、过期时间等等。
查询缓存
apc_add('name', 'tom', 3600);
print apc_fetch('name'); //输出tom
修改缓存
apc_store('name', 'anny', 3600);
print apc_fetch('name'); //输出anny
删除缓存
apc_delete('name');
var_dump(apc_fetch('name')); //输出bool(false)
递增递减数字
如果缓存的内容是数字,可以用apc_ inc自增1,apc_dec自减1。
apc_add('num', 10);
apc_inc('num');
print apc_fetch('num');//输出11
apc_dec('num');
print apc_fetch('num');//输出10
判断缓存是否存在
apc_add('name', 'tom', 3600);
var_dump(apc_exists('name')); //输出bool(true)
var_dump(apc_exists('age')); //bool(false)