`

PHP常见缓存技术分析

    博客分类:
  • php
阅读更多

在大部份情况下我们的网站都会使用数据库 作为站点数据存储的容器。当你执行一个SQL查询时,典型的处理过程是:连接数据库->准备SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接。但数据库中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中存储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查询结果也允许你后期处理。

普遍使用的缓存技术

数据缓存: 这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件
中,以后同样的查询结果就直接从缓存文件中获得。

页面缓存:
每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发 挥作用了。(模板引擎和网上常见的一些缓存类通常有此功能)

内存缓存:
在里就不介绍了,不是本文所要讨论的,只简单提一下:
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。


以上的缓存技术虽然能很好的解决频繁查询数据库的问题,但其缺点在在于数据无时效性,下面我给出我在项目中常用的方法:

时间触发缓存:
检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。
设定时间内不去判断数据是否要更新,过了设定时间再更新缓存。以上只适合对时效性要求不高的情况下使用 ,否则请看下面。


内容触发缓存:
当插入数据或更新数据时,强制更新缓存。

在这里我们可以看到,当有大量数据频繁需要更新时,最后都要涉及磁盘读写操作。怎么解决呢?我在日常项目中,通常并不缓存所有内容,而是缓存一部分不经常变的内容来解决。但在大负荷的情况下,最好要用共享内存做缓存系统。

到这里PHP 缓存也许有点解决方案了,但其缺点是,因为每次请求仍然要经过PHP解析,在大负荷的情况下效率问题还是比效严重,在这种情况下,也许会用到静态缓存。

静态缓存
这里所说的静态缓存是指HTML缓存,HTML缓存一般是无需判断数据是否要更新的,因为通常在使用HTML的场合一般是不经常变动内容的页面。数据更新的时候把HTML也强制更新一下就可以了。

分享到:
评论

相关推荐

    PHP常见缓存技术分析(cache)

    **PHP常见缓存技术分析(cache)** 在Web开发中,缓存技术是提升系统性能的关键因素之一。PHP作为广泛使用的服务器端脚本语言,提供了多种缓存策略以优化应用程序的运行速度。本文将深入探讨PHP中的常见缓存技术,...

    PHP中常见的缓存技术实例分析

    在PHP编程中,缓存技术是一种提升应用程序性能的重要手段,尤其在处理大量数据库查询或计算密集型任务时。本文将详细解析PHP中的缓存技术,包括其原理、优点以及一些实例,以帮助开发者理解如何有效地利用缓存来优化...

    PHP缓存技术详解(经典)

    ### PHP缓存技术详解 #### 引言 随着互联网技术的迅速发展,用户对网站响应速度的要求越来越高。作为一款流行的Web开发语言,PHP凭借其强大的功能和灵活性在网站建设中占据了重要地位。然而,在处理大量数据时,...

    php项目系统分析

    例如,避免全局变量、减少数据库查询次数、使用缓存技术(如Memcached或Redis)、利用OPcache加速PHP解释器等。 7. **安全实践**:在PHP项目中,安全是不可忽视的一环。应防范SQL注入、XSS跨站脚本攻击、CSRF跨站...

    PHP数据缓存技术

    通过对PHP数据缓存技术的深入分析,我们可以看到缓存在现代Web开发中的重要性。无论是简单的文件缓存还是更复杂的数据库缓存,合理地利用缓存技术都能够显著提升系统的性能和用户体验。未来随着技术的发展,更多的...

    PHP项目案例分析毕业论文

    6. **性能优化**:分享如何通过缓存技术、代码优化、负载均衡等手段提升系统性能。 7. **安全防护**:介绍常见的Web安全问题,如SQL注入、XSS攻击等,以及相应的防范措施。 8. **项目部署与维护**:讲解如何将项目...

    PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版).pdf+PHP 内核文档.chm

    《PHP深度分析:101个核心技巧、窍门和问题解决方法》是PHP开发者的一本宝贵资源,这本书深入探讨了PHP编程中的诸多关键概念和技术,旨在帮助读者提升技能,解决实际开发中遇到的问题。结合《PHP 内核文档》CHM格式...

    PHP实例开发源码——phpcj php成绩查询分析系统.zip

    9. **性能优化**:对于大规模数据的查询和分析,项目可能采用缓存技术(如Memcached或Redis)来提高响应速度。 10. **安全性**:考虑到成绩数据的敏感性,项目应遵循安全编码原则,防止SQL注入、跨站脚本攻击(XSS...

    关于BIWEB常见问题和结构分析

    9. 视频教程:"php100-58.wmv"可能是系列视频教程的一部分,内容可能涵盖PHP基础知识、BIWEB特定技术或案例分析,帮助学习者更直观地掌握相关技能。 总结,"关于BIWEB常见问题和结构分析"涵盖了PHP在Web开发中的...

    《PHP深度分析》随书代码

    9. **性能优化**:PHP性能优化是重要的话题,代码可能会展示如何使用缓存技术(如APC、Memcached或Redis),以及编写高效的代码来提升网站性能。 10. **安全性**:安全编码是Web开发的关键,代码中可能包含防止SQL...

    基于PHP的SK电影爬虫伪静态缓存极速版.zip

    在PHP中,常见的缓存技术有文件缓存、内存缓存(如APC、Memcached、Redis)以及数据库缓存。缓存可以将频繁访问的数据存储起来,下次请求时直接读取缓存,避免了每次查询数据库的时间开销。这显著提升了响应速度,...

    PHP实例开发源码-KASEN动漫伪静态缓存版 php版.zip

    通过对KASEN动漫伪静态缓存版的分析,我们可以深入理解PHP在实际项目中的运用,以及如何利用缓存技术提升网站性能。同时,对于初学者,这是一个很好的学习资源,可以借此了解Web开发的流程和常见技术,提高编程技能...

    基于PHP技术的网站设计毕业论文

    6. **性能优化与安全**:探讨PHP的性能优化技巧,如缓存技术,以及防止SQL注入、XSS攻击的安全措施。 7. **实例分析**:分析一个具体的PHP网站开发项目,从需求分析到上线运行的全过程。 8. **结论**:总结PHP在网站...

    服务器缓存设置 工具

    服务器缓存是提升网站或应用性能的关键技术,它通过存储常用数据或计算结果,减少对主服务器或外部资源的访问,从而显著加快响应速度。在本文中,我们将深入探讨服务器缓存的工作原理、常见类型、设置方法以及如何...

    PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)part1

    5名世界级专家使用无数的最佳实践编程实例带您领略PHP的非凡功力。... 本书适用于具有一定php开发经验的初学人员,对于那些希望改善web应用程序或提高技术水平的资深开发人员也有很高的参考价值。

    php常见面试题

    - 使用缓存技术,如Memcached或Redis,提高数据访问速度。 - 实施负载均衡,分散服务器压力。 - 静态资源使用CDN(内容分发网络)进行加速。 - 减少不必要的数据库查询。 - 通过性能分析找出系统瓶颈并优化。 ...

    php+mysql 经典案例分析

    13. 性能优化:包括缓存技术(如APC、Memcached、Redis)、数据库查询优化、减少HTTP请求等,都是提升Web应用性能的重要手段。 以上就是《PHP+MySQL经典案例分析》中涉及的主要知识点,通过这些知识的学习和实践,...

    Linux编程之提升PHP执行速度全攻略分析

    缓存技术能显著加速PHP应用。当PHP文件首次被请求时,中间代码被存储在内存中,后续请求直接从内存读取,减少磁盘I/O,提升性能。常见的缓存解决方案有Zend Cache(商业产品,速度快但需付费)、Afterburner Cache...

Global site tag (gtag.js) - Google Analytics