zoukankan      html  css  js  c++  java
  • 2013/11/22工作随笔-缓存是放在Model层还是放在Controller层

    web网站的典型代码框架就是MVC架构,Model层负责数据获取,Controller层负责逻辑控制,View层则负责展示。

    一般数据获取是去mysql中获取数据

    但是这里有个问题,我们不会每次请求都去mysql中获取,当并发量大的时候,我们希望mysql前面有层缓存做着。

    这层缓存可能是redis,memcache,File等,但是这个逻辑代码是放在Controller中好还是Model中好呢?

    放在Controller中:

    好处:可以单个Controller进行控制,每个controller中有各自对数据的键,以及缓存时间等。

    不好处:每个controller需要写一份几乎一模一样的代码,很繁琐。即使你写一个公共的方法,那也要在各个地方写上这个公共方法,属于重复工作了。

    放在Model中:

    好处:统一管理,复用性高,controller层不需要理会数据是从缓存中获取还是从mysql中获取,controller完全解放出来了。

    不好处:没法对单个controller进行控制了,controller失去了对缓存的控制权。

    观点:

    我强烈建议放在Model中,因为一般的web是不会controller对缓存这层做直接控制的。

  • 相关阅读:
    JS定时执行,循环执行
    Ecshop(二次开发)
    百度歌曲接口
    给大家讲讲在哪些地方发外链最好
    360浏览器默认以兼容模式或急速模式方式打开页面
    子iframe 怎么调用 父级的JS函数
    ASP 发送邮件
    PHP发送邮件
    php表单数据验证类
    js获取url传递参数
  • 原文地址:https://www.cnblogs.com/yjf512/p/3438215.html
Copyright © 2011-2022 走看看