缓存相关知识点(动态内容缓存)

页面缓存

文件缓存-----------------

1). 当缓存文件过W的时候,CPU花在遍历目录上的时间非同寻常,甚至使用率会达到100%?

      解决办法是1使用目录分级,2使用支持hash等加速目录遍历的文件系统,如XFS、reiserfs

2). 过期检查策略:

     1.可以把缓存过期时间相关信息序列化后存储到缓存文件的头部

     2.通过PHP stat()函数来直接判断文件更新时间

3). 在加载缓存之前,尽量不要加载无关的额外的文件

     其实有一个解决方案:脚本加速器可以将脚本代码进行缓存和优化

     加载文件增加磁盘I/O的开销,而初始化对象则增加了CPU和内存交互开销也增加了脚本解释器的开销

4. 当用文件缓存的时候,尽量不要把数据库也放到这个磁盘上,大量的磁盘I/O交互会使得磁盘延迟,磁盘负载瓶颈


把缓存放到内存中-----------

1.APC :使用的是本机内存缓存

2.XCache


独立的缓存服务器------------

如memcached 通过TCP socket 将缓存存储到多台服务器,也是以key的形式存储,维护key的过期时间,一旦过期,服务器会自动删除缓存


对于使用的基于内存的缓存方法,当要存储的缓存有10W个,每个100KB,就相当于1GB的内存占有,如果想较长时间的存储,那么内存就是一个瓶颈。

解决方法是使用memcached基于分布式缓存无限扩展服务器策略来解决这个瓶颈。


----

Web服务器特别是应用服务器内存是非常宝贵的,它需要满足HTTP进程及脚本解释器的大量开销。无法拿出大量的空间来存放HTML缓存。


有效期取值-----

缓存管理


局部无缓存

静态化内容

1. 静态页面要发挥足够大的效果,需要购买更多的独享带宽如1G,为服务器安装千兆网卡,前兆交换机

2. 更新策略:

      a.在数据更新时重新生成静态化内容

      b.定时重新生成静态化内容

      对于a种策略:当工作人员大量更新网站的时候,会引发大量网页的静态化,降低服务器的相应,为此可以引入延迟更新机制,讲更新机制放入队列,一旦队列写满或者达到超时时间,便一次性将他们更新到磁盘,可以理解为叫‘静态缓冲区’

     对于b种策略:一般采用定时任务,如对首页的热门新闻定时更新

局部静态化

静态化网页可以不必整页更新,它可以通过SSI(服务端包含)技术实现各个局部页面的独立更新,这样便大大节省了重建整个网页时的计算开销和磁盘I/O开销,甚至包括分发时的网络I/O开销。

APCHE 里可以看到 

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

关于SSI我会写一篇文章介绍,简单来说是引入这样的代码 

<body>
dddd
<!--#include file="t.php"--> 
</body>

配置http://say0507.iteye.com/blog/989380


上面整理的有些乱,说的是这些:

1. 重复的开销

2. 缓存与速度

3. 页面缓存

4. 局部无缓存

5. 静态化内容


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值