最近在研究商城系统源码,市面上的很多开源商城系统都支持缓存技术,比如DSMall开源商城系统之类的都支持以下缓存技术。
1、全页面静态化缓存
全页面静态化缓存是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式在CMS系统中比较常见,如dedecms。
比较常用的实现方式是直接写入Html:
2、页面部分缓存
该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一起显示;可以使用类似于ob_get_contents的方式实现,也可以利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存。
3、数据缓存
缓存数据的一种方式;比如,商城系统中的为了获取某条信息,当用固定id去请求时,就会得出包括对应ID所相关的数据数据,此时就可以将这些数据写入缓存到一个php文件中,用于保存,缓存文件包含固定id来建一个唯一标示;下一次有人想查看这个商品时,首先判断缓存中是否有此条数据,缓存是否过期,如果合理就直接获取数据,如果没有,就直接查询数据库,写入数据,其实缓存文件中缓存的就是一个php数组之类。
4、内存缓存
通过缓存查询结果,来减少数据库的访问次数,从而提高网站的响应速度。通常使用redis,memcached等nosql数据库设置PHP缓存,Redis是一个开源的数据库,支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
memcached是一套分布式的高速缓存系统,被许多网站使用。这是一套开放源代码软件。
5、apache缓存模块
apache安装完以后,是不允许被cache的。如果外接了cache或squid服务器要求进行web加速的话,就需要在htttpd.conf里进行设置,当然前提是在安装apache的时候要激活mod_cache的模块。
5、php APC缓存扩展
Php有一个APC缓存扩展,windows下面为php_apc.dll,需要先加载这个模块,然后是在php.ini里面进行配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。