文档章节

PHP mvc与缓存

phpweishunlong
 phpweishunlong
发布于 2017/05/15 00:19
字数 686
阅读 6
收藏 0

###1. MVC是什么?

M(Model)模型层,负责数据处理,业务逻辑。

C(Controller)控制器层,负责调度模型、视图。C层是M与V的桥梁。

V(View)视图层,负责显示数据。

MVC优点: 1、 MVC将代码分成了三层,有利于分工 2. 有利于排错

###2. MVC,用户访问的是哪一层?

用户访问的是C层


缓存

原理:先查询缓存中有没有要的数据,如果有,就直接返回缓存中的数据。

如果缓存中没有要的数据,才去查询数据库,将得到数据先存放到缓存中,然后再返回给php。

优点: 1、 减少了对数据库的读操作,数据库的压力降低 2、 加快了响应速度

缺点: 1、 因为内存断电就清空数据,存放到内存中的数据可能丢失

   2、 缓存中的数据可能与数据库中数据不一致

   3、 内存的成本高 

   4、 内存容量相对硬盘小

缓存分类:

  1. 按照存放的介质分类 a. 内存 b. 硬盘

    存放到内存中的数据,叫做内存缓存 存放到硬盘中的数据,叫做文件缓存

    选择内存缓存还是文件缓存:

    a. 根据你的数据特点来选择。
    
           如果你数据比较小,并且是热门数据(热数据),应该选择内存缓存。
    
           如果你数据比较大,应该选择文件缓存。
    
  2. 按照存放数据来分类

    a. 数据缓存 b. 页面静态化

    数据缓存: 数据缓存只会将从数据库中查询出来的数据缓存 。

    页面静态化: 将动态的页面变成静态的页面。产生的静态页面应该保存到文件中。

MySQL本身性能就相对比较很慢。因为MySQL数据最终存放到硬盘上。 所以MySQL的读(select)写(update insert delete)性能都相对不高。


memcached他是一个软件,通过memcached可以让你操作内存。就是可以将数据存放到内存中,也可以拿出来。

  • 如何看memcached是否启动

    netstat -tlunp | grep 11211

  • 如何登录到memcache中

    //将数据存放到memcached中 set key 1 3 2

    //从memcache中获取数据 get key

  • memcached提供的命令

php要想操作memcache,必须安装扩展

缓存时间肯定不能是永久缓存。 缓存时间如何设置

  1. 缓存时间最好在后台可以修改。

  2. 缓存时间能够设置成一样吗?

    不行,原因: 如果缓存过期了,一起查询数据库,数据库压力大。这种情况叫做缓存雪崩。

    缓存时间最后有一个时间差。

© 著作权归作者所有

共有 人打赏支持
phpweishunlong
粉丝 1
博文 64
码字总数 26288
作品 0
广州
程序员
私信 提问
构架高性能WEB网站的几点知识

前言: 对于构架高性能的web网站大家都很感兴趣,本文从几点粗谈高性能web网站需要考虑的问题。 HTML静态化 什么是html静态化? 说得简单点,就是把所有不是.htm或者.html的页面改为.htm或者...

吞吞吐吐的
2017/10/11
0
0
Colin/MyClassPHP

#MyClassPHP MyClassPHP是一个开源、免费的学习框架,也被称之为类库包,属于MVC框架成品 官方交流群,提交BUG群 438695935 ##主要更新 ###1.目录不在多样化,而是传统的web结构 ###2.简单M...

Colin
2016/11/04
0
0
RapPHP 支持 Swoole 的全 Web 开发框架

RapPHP 开发框架现在正式向全网进行开源,经过我们内部一定时间的开发升级,当前版本已迭代到 v2.0.6,当前框架包含完整的开发 php 项目需要的各个组件和特性,并已经过多个项目的验证。 Ra...

景颢
09/07
0
0
RapPHP 为效率而生的PHP 框架

RapPHP 是什么 RapPHP 框架提供了全面的 IOC,AOP的底层支持,架构设计简洁而有扩展性,开发灵活而有设计感,RapPHP提供了完整的 Web开发需要的核心组件;同时 RapPHP支持 SWOOLE和传统(lamp,lnm...

景颢
09/07
0
0
为效率而生的 PHP 框架 - RapPHP

RapPHP 是什么 RapPHP 框架提供了全面的 IOC,AOP 的底层支持,架构设计简洁而有扩展性,开发灵活而有设计感,RapPHP 提供了完整的 Web 开发需要的核心组件;同时 RapPHP 支持 SWOOLE 和传统(lamp...

景颢
09/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Eureka Server启用 https服务指北

文章共 591字,阅读大约需要 2分钟 ! 概 述 在我的前文《Eureka Server 开启Spring Security Basic认证》中已经给 Eureka Server 开启了最基本的鉴权措施,本文则让 HTTPS加持于 Eureka Ser...

CodeSheep
37分钟前
6
0
OSChina 周二乱弹 —— 其实我在地板也睡不着

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @witt-z :分享歌词: 阴天 在不开灯的房间,当所有思绪都一点一点沉淀。 分享莫文蔚的单曲《阴天》: 《阴天》- 莫文蔚 手机党少年们想听歌,...

小小编辑
59分钟前
250
7
微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
3
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
4
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部