有关于缓存

来源:互联网 发布:饭卡充值软件下载 编辑:程序博客网 时间:2024/04/29 20:48
我们使用缓存的目的主要有如下几点:
1、减少数据库查询次数,降低数据库负载。
2、缩短php执行路径,降低web前端负载。
3、减少webserver的请求数量, 降低web前端负载。

 
第一项 :比较接近底层, 主要做细粒度数据缓存, 比如缓存一个数据对象, 一行记录等。 只有当对象中的属性或记录中的字段值发生变化后使缓存失效。  memcached很适合做这个工作。

第二项: 主要将业务逻辑复杂的区域或模块以某种静态形式缓存, 比如页面中的某个区域,某个具体的action->render后的内容 等。 Smarty 缓存是个不错的选择,当然还有一些其他方案比如 CacaLite等。

以上两类缓存策略的实现 必须有一个统一的 cacheKey 管理策略来辅助。  这样才能达到对缓存的精细化控制。

第三项:目前大型网站都是用 squid来缓存不长更新的页面,或者说数据的更新对于用户来说不是很敏感的页面。 比如首页、列表页等。 后台的数据更新对于前台首页来讲晚一时半会儿无所谓。 这种地方就很适合squid , 他是基于url的一种按时间过期的反向代理缓存。不夸张的说 上千万pv的网站 70%靠 squid, 30% 靠webserver。 
原创粉丝点击