PHP企业级应用之常见缓存技术篇

别每天OO,这个配置怎么改,这段代码哪错了,没劲,好的程序不光是代码写的好,整体架构很重要,多了解程序之外的东西,这篇不再单单是程序方面的东西了,会写到从程序到服务器的设置,会比较多,但个人的经验有限,知道的就这么多,不知道的我也没法写呀, 文章说的不好大家就当我说梦话得了。

所有程序例子都来自网络

普遍缓存技术

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

用的最广的例子看Discuz的搜索功能,把结果ID缓存到一个表中,下次搜索相同关键字时先搜索缓存表。

举个常用的方法,多表关联的时候,把附表中的内容生成数组保存到主表的一个字段中,需要的时候数组分解一下,这样的好处是只读一个表,坏处就是两个数据同步会多不少步骤,数据库永远是瓶颈,用硬盘换速度,是这个的关键点。

页面缓存:

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

时间触发缓存:

检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。

内容触发缓存:

当插入数据或更新数据时,强制更新缓存。

静态缓存

这里所说的静态缓存是指静态化,直接生成HTML或XML等文本文件,有更新的时候重生成一次,适合于不太变化的页面,这就不说了。

以上内容是代码级的解决方案,我直接CP别的框架,也懒得改,内容都差不多,很容易就做到,而且会几种方式一起用,但下面的内容是服务器端的缓存方案,非代码级的,要有多方的合作才能做到

内存缓存:

Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

这里说下Memcached的例子

<?php$memcache = new Memcache;$memcache->connect('localhost', 11211) or die ("Could not connect");$version = $memcache->getVersion();echo "Server's version: ".$version."\n";$tmp_object = new stdClass;$tmp_object->str_attr = 'test';$tmp_object->int_attr = 123;$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");echo "Store data in the cache (data will expire in 10 seconds)\n";$get_result = $memcache->get('key');echo "Data from the cache:\n";var_dump($get_result);?>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 文件
, 数据
, 缓存
, 页面
, 时间
代码更新缓存
企业级应用、iphone企业级应用验证、j2ee企业级应用开发、企业级应用无法验证、企业级应用验证无反应,以便于您获取更多的相关知识。

时间: 2024-08-03 05:49:23

PHP企业级应用之常见缓存技术篇的相关文章

Gartner:2015年启动的企业级区块链项目90%会失败,它们犯了这十大常见错误

雷锋网报道,当前,已经有很多机构开始在现有体系中融入区块链技术,在货币汇款.学术资格认证系统.土地所有权系统.以及追踪产品的来源和去向等项目中进行试验性质的尝试.然而,根据市场调查机构 Gartner 最新发布的评估报告,于 2015 年启动的企业级区块链项目,90% 以上将会在 18 到 24 个月内失败. 究其原因,最主要的是大部分企业级区块链项目实际上根本上用不到区块链技术,甚至不依赖于区块链技术反而可能有更大的成功概率. 根据 Gartner 的技术发展规律曲线(Hype Cycle)上

[转]注释驱动的 Spring cache 缓存介绍

原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/ 概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果. Spring 的缓存技术还具备相当的灵活性,不仅能

大型web系统数据缓存设计

1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计却并不容易:所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型.常见缓存系统的特点和数据指标.缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速.系统的了解相关知识. 2. 数据库的瓶颈 2.1 数据量 关系型数据库的数据量是比较小的,以我们常用的MySQL为例,单表数据条数一般应该控制在2000w以内,如果业务很复杂的话,可能还要低一些.即便是

第十二章 hibernate缓存

1.一级缓存(Session级缓存) 一级缓存很短和session的生命周期一致,因此也叫session级缓存或事务级缓存 那些方法支持一级缓存: *get() *load() *iterate(查询实体对象) 如何管理一级缓存: *session.clear(),session.evict() 如何避免一次性大量的实体数据入库导致内存溢出 方法1:先flush,再clear for(int i = 0; i <1000000; i++){ session.save(user); if(i %

万字长文深解金融科技50强、Gartner报告指出企业区块链十大常见错误 | AI金融评论周刊

业界  万字长文深解金融科技50强:Fintech领域上半场余热未散,下半场大战即将打响 在毕马威Fintech 50强的研讨会上,高瓴资本的董事总经理洪婧女士提到:"Fintech领域分为上下半场,上半场触达的游戏已经结束,下半场价值链的重构游戏才刚刚开始."通过对毕马威Fintech 50强回顾概览,作者表示,消费金融方面,在竞争如此激烈的态势下,场景入口和数据风控成为了消费金融领域的关键,相关企业的竞争力取决于是否具备结合场景.将数据变现的能力. 此外支付领域,"基于互

使用IBM Mobile Database实现Android设备企业级数据库同步

本文试图向读者介绍 IBM Mobile Database 的工作原理,并结合示例,展示如何使用 IBM Mobile Database 实现 Android 设备与后端企业级数据库的数据同步. IBM http://www.aliyun.com/zixun/aggregation/29908.html">solidDB 是一种内存型关系数据库,其运行效率相当于磁盘数据库的十倍,吞吐量为数万事务每秒,响应时间为微秒级.作为移动设备的迁移版本,IBM Mobile Database 继承了

ISA server 2006的安装和配置

二.ISA Server 2006功能概述 1.ISA Server 2006功能介绍 ISA Server 2006是路由及网络防火墙,兼有高性能缓存功能 Internet防火墙 部署成一台专用防火墙,作为内部用户接入INT的安全网关.可设置安全规则 安全服务器发布 企业内部用户能够向INT发布服务,如公司的WEB服务器,邮件服务器. Web缓存服务器 可以像代理防火墙一样,通过服务器中的缓存实现网络的加速. 2.ISA Server 2006版本 ISA Server 2006标准版 为小型

Hibernate学习大全

第1课 课程内容. 6 第2课Hibernate UML图. 6 第3课 风格. 7 第4课 资源. 7 第5课 环境准备. 7 第6课 第一个示例HibernateHelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/RMapping 11 一.     定义:. 11 二.     Hibernate的创始人:. 11 三.     Hibernate做什么:. 12 四.     Hibernate存在的原因:. 12 五.     Hi

中小企业办公无线路由器怎么选

无线路由器已经成为当前办公室必备设备,优秀的办公无线网络解决方案能够提供随时上网的分享的便利,提高办公效率.很多初创公司在选择无线路由器的时候,由于不懂技术,因此往往会选择一些价格相对较便宜的家用无线路由器.这部分产品在面对多人同时上网的情况下就显得力不从心了,另外在安全性和稳定性方面,也与专门针对企业的无线路由器有着很大的差别: 1)企业级路由器的CPU,缓存,内存等硬件参数更高,NAT转发数更多,支持同时接入上网的用户数量更多. 2)从软件功能上来看,企业级路由器支持的协议标准及软件管理功能