谈谈MVC项目中的缓存功能设计的相关问题

  本文收集一些关于项目中为什么需要使用缓存功能,以及怎么使用等,在实际开发中对缓存的设计的考虑

  为什么需要讨论缓存呢?

  缓存是一个中大型系统所必须考虑的问题。为了避免每次请求都去访问后台的资源(例如数据库),我们一般会考虑将一些更新不是很频繁的,可以重用的数据,通过一定的方式临时地保存起来,后续的请求根据情况可以直接访问这些保存起来的数据。这种机制就是所谓的缓存机制。

  根据缓存的位置不同,可以区分为:

  1、客户端缓存(缓存在用户的客户端,例如浏览器)

  2、服务器断货(缓存在服务器中,可以缓存在内存中,也可以缓存在文件里,并且还可以进一步区分为本地缓存和分布式缓存两种)

应该说,缓存的设计是一门较为复杂的学问,主要考虑的问题包括:

  1、要不要缓存?

  2、要缓存哪些数据?

  3、要缓存多少数据?

  4、要缓存多久?

  5、如何更新缓存(手动还是自动)

  6、将缓存放在哪里?

本文就针对上面的问题考虑一下在实际项目中,如何使用缓存功能。

常用的缓存功能支持表现在如下几个方面:

1、可以直接在Controller 上面 定义输出缓存(页面缓存?控件缓存?)

2、通过缓存策略 的方法,灵活定义缓存的设置(新功能)

3、支持缓存依赖,以便当外部资源发生变化时得到通知,并且更新缓存

4、支持使用缓存API, 还支持一些第三方的缓存方案(例如分布式缓存)

对于常用的MVC 框架来说,假设有一个实体类 员工,我们可以对员工 增删改查

1、使用输出缓存

比如,我们有

参考链接:谈谈MVC项目中的缓存功能设计的相关问题

原文地址:https://www.cnblogs.com/panie2015/p/6138702.html