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对缓存这层做直接控制的。

  • 相关阅读:
    ubuntu18 faster-rcnn
    osgViewer应用基础
    error C2086: “int WINGDIAPI”: 重定义
    test5
    test3
    test2
    Kinect关节数据
    MySQL乱码问题以及utf8mb4字符集
    mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg
    yum安装软件报错:curl#6
  • 原文地址:https://www.cnblogs.com/yjf512/p/3438215.html
Copyright © 2011-2022 走看看