PHP中9大缓存技术总结_PHP教程
PHP中9大缓存技术总结
1、全页面静态化缓存
也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;
一种比较常用的实现方式是用输出缓存:
<code><span class="typ">Ob_start<span class="pun">()<span class="pln"> <span class="pun">******要运行的代码*******<span class="pln"> $content <span class="pun">=<span class="pln"> <span class="typ">Ob_get_contents<span class="pun">();<span class="pln"> <span class="pun">****将缓存内容写入<span class="pln">html<span class="pun">文件*****<span class="pln"> <span class="typ">Ob_end_clean<span class="pun">();</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
2、页面部分缓存
该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一起显示;可以使用类似于ob_get_contents的方式实现,也可以利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存(ESI技术,请baidu,此处不详讲)。
该种方式可以用于如商城中的商品页;
3、数据缓存
顾名思义,就是缓存数据的一种方式;比如,商城中的某个商品信息,当用商品id去请求时,就会得出包括店铺信息、商品信息等数据,此时就可以将这些数据缓存到一个php文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首先就直接调这个文件里面的信息,而不用再去数据库查询;其实缓存文件中缓存的就是一个php数组之类;
Ecmall商城系统里面就用了这种方式;
4、查询缓存
其实这跟数据缓存是一个思路,就是根据查询语句来缓存;将查询得到的数据缓存在一个文件中,下次遇到相同的查询时,就直接先从这个文件里面调数据,不会再去查数据库;但此处的缓存文件名可能就需要以查询语句为基点来建立唯一标示;
按时间变更进行缓存
其实,这一条不是真正的缓存方式;上面的2、3、4的缓存技术一般都用到了时间变更判断;就是对于缓存文件您需要设一个有效时间,在这个有效时间内,相同的访问才会先取缓存文件的内容,但是超过设定的缓存时间,就需要重新从数据库中获取数据,并生产最新的缓存文件;比如,我将我们商城的首页就是设置2个小时更新一次;
5、按内容变更进行缓存
这个也并非独立的缓存技术,需结合着用;就是当数据库内容被修改时,即刻更新缓存文件;
比如,一个人流量很大的商城,商品很多,商品表必然比较大,这表的压力也比较重;我们就可以对商品显示页进行页面缓存;
当商家在后台修改这个商品的信息时,点击保存,我们同时就更新缓存文件;那么,买家访问这个商品信息时,实际上访问的是一个静态页面,而不需要再去访问数据库;
试想,如果对商品页不缓存,那么每次访问一个商品就要去数据库查一次,如果有10万人在线浏览商品,那服务器压力就大了;
6、内存式缓存
提到这个,可能大家想到的首先就是Memcached;memcached是高性能的分布式内存缓存服务器。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。
它就是将需要缓存的信息,缓存到系统内存中,需要获取信息时,直接到内存中取;比较常用的方式就是 key–>value方式;
<code><span class="pun"><?<span class="pln">php $memcachehost <span class="pun">=<span class="pln"> <span class="str">'192.168.6.191'<span class="pun">;<span class="pln"> $memcacheport <span class="pun">=<span class="pln"> <span class="lit">11211<span class="pun">;<span class="pln"> $memcachelife <span class="pun">=<span class="pln"> <span class="lit">60<span class="pun">;<span class="pln"> $memcache <span class="pun">=<span class="pln"> <span class="kwd">new<span class="pln"> <span class="typ">Memcache<span class="pun">;<span class="pln"> $memcache<span class="pun">-><span class="pln">connect<span class="pun">(<span class="pln">$memcachehost<span class="pun">,<span class="pln">$memcacheport<span class="pun">)<span class="pln"> <span class="kwd">or<span class="pln"> <span class="kwd">die<span class="pln"> <span class="pun">(<span class="str">"Could not connect"<span class="pun">);<span class="pln"> $memcache<span class="pun">-><span class="kwd">set<span class="pun">(<span class="str">'key'<span class="pun">,<span class="str">'缓存的内容'<span class="pun">);<span class="pln"> $get <span class="pun">=<span class="pln"> $memcache<span class="pun">-><span class="kwd">get<span class="pun">(<span class="pln">$key<span class="pun">);<span class="pln"> <span class="com">//获取信息<span class="pln"> <span class="pun">?></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
7、apache缓存模块
apache安装完以后,是不允许被cache的。如果外接了cache或squid服务器要求进行web加速的话,就需要在htttpd.conf里进行设置,当然前提是在安装apache的时候要激活mod_cache的模块。
安装apache时:./configure –enable-cache –enable-disk-cache –enable-mem-cache
8、php APC缓存扩展
Php有一个APC缓存扩展,windows下面为php_apc.dll,需要先加载这个模块,然后是在php.ini里面进行配置:
<code><span class="pun">[<span class="pln">apc<span class="pun">]<span class="pln"> extension<span class="pun">=<span class="pln">php_apc<span class="pun">.<span class="pln">dll apc<span class="pun">.<span class="pln">rfc1867 <span class="pun">=<span class="pln"> on upload_max_filesize <span class="pun">=<span class="pln"> <span class="lit">100M<span class="pln"> post_max_size <span class="pun">=<span class="pln"> <span class="lit">100M<span class="pln"> apc<span class="pun">.<span class="pln">max_file_size <span class="pun">=<span class="pln"> <span class="lit">200M<span class="pln"> upload_max_filesize <span class="pun">=<span class="pln"> <span class="lit">1000M<span class="pln"> post_max_size <span class="pun">=<span class="pln"> <span class="lit">1000M<span class="pln"> max_execution_time <span class="pun">=<span class="pln"> <span class="lit">600<span class="pln"> <span class="pun">;<span class="pln"> <span class="pun">每个<span class="pln">PHP<span class="pun">页面运行的最大时间值(秒),默认<span class="lit">30<span class="pun">秒<span class="pln"> max_input_time <span class="pun">=<span class="pln"> <span class="lit">600<span class="pln"> <span class="pun">;<span class="pln"> <span class="pun">每个<span class="pln">PHP<span class="pun">页面接收数据所需的最大时间,默认<span class="lit">60<span class="pln"> memory_limit <span class="pun">=<span class="pln"> <span class="lit">128M<span class="pln"> <span class="pun">;<span class="pln"> <span class="pun">每个<span class="pln">PHP<span class="pun">页面所吃掉的最大内存,默认<span class="lit">8M</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
9、Opcode缓存
我们知道,php的执行流程可以用下图来展示:
首先php代码被解析为Tokens,然后再编译为Opcode码,最后执行Opcode码,返回结果;所以,对于相同的php文件,第一次运行时可以缓存其Opcode码,下次再执行这个页面时,直接会去找到缓存下的opcode码,直接执行最后一步,而不再需要中间的步骤了。
比较知名的是XCache、Turck MM Cache、PHP Accelerator等。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











인터넷이 발전하고 데이터 처리량이 증가함에 따라 많은 웹사이트에서는 대량의 데이터 쿼리 및 계산을 처리해야 하며, 이를 위해서는 웹사이트 액세스 속도를 최적화하기 위한 효율적인 캐싱 메커니즘이 필요합니다. APC(AlternativePHPCache)는 PHP 언어에서 일반적으로 사용되는 캐싱 기술로 웹 사이트의 성능과 응답 속도를 향상시킬 수 있습니다. 이 기사에서는 APC 캐싱 기술의 기본 원리와 PHP에서의 응용 사례를 소개합니다. 1. APC 캐싱 기술의 원리 APC는 오픈소스 캐싱 기술로,

인터넷 애플리케이션이 발전하면서 인기 있는 개발 언어인 PHP가 웹 애플리케이션 개발에 널리 사용되고 있습니다. 그러나 실제 개발에서는 성능 병목 현상이 발생하여 애플리케이션이 사용자 요구를 충족하지 못하는 경우가 종종 있습니다. 일반적인 병목 현상 중 하나는 데이터베이스 쿼리로 인해 발생하는 성능 문제입니다. 이 문제를 해결하기 위해 몇 가지 캐싱 기술을 사용할 수 있으며 그 중 APC 캐싱 기술이 좋은 옵션입니다. APC(대체 PHPCache)는

PHP 데이터 캐싱 최적화를 위해 APC를 사용하는 방법은 무엇입니까? 소개: 개발 과정에서 우리는 데이터베이스에서 데이터를 자주 읽고 처리해야 하는 상황에 자주 직면합니다. 이 경우 성능을 향상시키고 데이터베이스에 대한 액세스 압력을 줄이기 위해 캐시를 사용하여 쿼리된 데이터를 저장할 수 있습니다. APC(AlternativePHPCache)는 일반적으로 사용되는 PHP 확장으로, 메모리에 데이터를 캐시하여 PHP 애플리케이션 속도를 높일 수 있습니다. 이 기사에서는 A를 사용하는 방법을 소개합니다.

웹 애플리케이션이 점점 더 복잡해짐에 따라 동적 데이터 캐싱은 필수 기술이 되었습니다. APC(AlternativePHPCache)는 메모리 캐싱 기술로 웹 애플리케이션의 성능과 응답 속도를 크게 향상시킬 수 있습니다. 이 기사에서는 PHP 애플리케이션에서 동적 데이터 캐싱을 위해 APC 캐싱 기술을 사용하는 애플리케이션 시나리오를 소개합니다. 액세스 빈도가 높은 데이터 캐시 일부 데이터는 웹 애플리케이션에서 자주 액세스됩니다. 매번 데이터베이스에서 읽으면 애플리케이션 성능에 심각한 영향을 미칩니다. 현재로서는 이러한 일이 가능합니다.

APC 캐싱 기술은 서버 부하를 줄이면서 애플리케이션 성능을 향상시킬 수 있는 PHP 기반 캐싱 기술입니다. PHP 기반 애플리케이션에서 APC 캐싱 기술은 집계된 쿼리 분석을 구현하여 애플리케이션 효율성과 사용자 경험을 향상시킬 수 있습니다. 집계된 쿼리 분석은 여러 쿼리 결과를 병합하여 보다 포괄적이고 포괄적인 데이터 분석 결과를 얻는 것을 의미합니다. 대량의 데이터를 처리할 때 집계 쿼리 분석을 사용하면 데이터에서 중요한 정보를 캡처하고 데이터 처리 효율성을 향상하며 서버 유지 관리의 필요성을 줄이는 데 도움이 될 수 있습니다.

PHP7 성능 최적화 팁: APC 캐싱을 사용하여 스크립트 실행을 가속화하는 방법 소개: 네트워크 애플리케이션의 복잡성이 증가하고 사용자 수가 증가함에 따라 PHP 스크립트의 성능을 최적화하는 것이 특히 중요해졌습니다. 일반적인 최적화 방법 중 하나는 캐싱을 사용하여 스크립트 실행 시간을 줄이는 것입니다. PHP에서 APC(AlternativePHPCache)는 스크립트 성능을 크게 향상시킬 수 있는 널리 사용되는 캐싱 도구입니다. 이 기사에서는 APC 캐싱을 사용하여 PHP7 스크립트 실행 속도를 높이는 방법을 소개합니다.

인터넷의 발달과 함께 대중적인 웹 프로그래밍 언어인 PHP는 웹사이트 개발과 애플리케이션 개발에 널리 사용되고 있습니다. PHP 애플리케이션에서 캐싱 기술은 애플리케이션 성능과 확장성을 향상시키는 동시에 서버 로드 압력을 줄일 수 있습니다. 그 중 APC 캐싱 기술은 일반적으로 사용되는 캐싱 기술 중 하나로 애플리케이션의 응답 속도와 효율성을 효과적으로 향상시킬 수 있습니다. APC 캐싱 기술은 전체 이름이 AlternativePHPCache인 PHP 내장 캐싱 플러그인입니다. 컴파일을 캐시할 수 있습니다.

인터넷 애플리케이션이 지속적으로 개발됨에 따라 점점 더 많은 비즈니스 논리가 웹 애플리케이션에 추가됩니다. 웹 애플리케이션의 속도는 하드웨어 성능, 네트워크 대역폭, 데이터베이스 성능 등 지속적으로 최적화해야 하는 여러 요소의 영향을 받습니다. 그 중 캐싱 기술은 웹 애플리케이션에서 널리 사용되는 최적화 방법이고, APC 캐싱 기술은 PHP 애플리케이션에서 사용되는 캐싱 기술이다. 1. APC 캐싱 기술 소개 APC의 전체 이름은 AlternativePHPCach입니다.
