本帖最后由 huawei 于 2017-3-5 11:06 编辑
必看:web常用的常用缓存技术有哪些?此贴一网打尽!
1、Opcode缓存
首先php代码被解析为Tokens,然后再编译为Opcode码,最后执行Opcode码,返回结果;所以,对于相同的php文件,第一次运行时 可以缓存其Opcode码,下次再执行这个页面时,直接会去找到缓存下的opcode码,直接执行最后一步,而不再需要中间的步骤了。
2、内存式缓存
提到这个,可能大家想到的首先就是Memcached;memcached是高性能的分布式内存缓存服务器。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。它就是将需要缓存的信息,缓存到系统内存中,需要获取信息时,直接到内存中取;比较常用的方式就是 key–>value方式;
- <?php
- $memcachehost = '192.168.6.191';
- $memcacheport = 11211;
- $memcachelife = 60;
- $memcache = new Memcache;
- $memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
- $memcache->set('key','缓存的内容');
- $get = $memcache->get($key); //获取信息
- ?>
复制代码 3、php APC缓存扩展
Php有一个APC缓存扩展,windows下面为php_apc.dll,需要先加载这个模块,然后是在php.ini里面进行配置:
- extension=php_apc.dll
- apc.rfc1867 = on
- upload_max_filesize = 100M
- post_max_size = 100M
- apc.max_file_size = 200M
- upload_max_filesize = 1000M
- post_max_size = 1000M
- max_execution_time = 600 ; 每个PHP页面运行的最大时间值(秒),默认30秒
- max_input_time = 600 ; 每个PHP页面接收数据所需的最大时间,默认60
- memory_limit = 128M ; 每个PHP页面所吃掉的最大内存,默认8M
复制代码
4、全页面静态化缓存
也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;一种比较常用的实现方式是用ob缓存:
- Ob_start()
- ******要运行的代码*******
- $content = Ob_get_contents();
- ****将缓存内容写入html文件*****
- Ob_end_clean();
复制代码
5、页面部分缓存
6、数据缓存
7、查询缓存
|