Cache应该在.NET三层中哪一层使用设计最为合适?

时间:2021-01-23 19:45:20
一个的三层架构,分别有WEB应用,与WIN应用。
Cache对于WEB应用中是一个很好的东西,比如:可以在BLL层中缓存常用的对象实体数据
但对于WIN应用来说本来客户端内存中已经有很大的数据了,是不是有点多余
所以感觉是不是更应该在WEB表现层中去实现?
但是在WEB表现层去使用Cache,感觉有点不好设计,你们一般是怎么设计表现层的Cache的,有什么经验可以探讨一下?

7 个解决方案

#1


每次的Cache的用意和目地都是不相同的
关键是你要发现你的瓶颈

#2


个人感觉,基本介于数据和业务之间,我会放在数据层

#3


如果web层 和 业务层都需要Cache  那就直接把Cache分出来一层  专门管理缓存
这样的话   那个层需要就直接引用就可以了  

#4


哪一层都会用到。

#5


就像你的情况   win层就不要引用Cache  而web可以引用

#6


我不知道 该怎么说:

我不用三层架构已经很久了:


三层模式,决定了只能 高层调用低层:而不可以 像调用 List<T> 这些系统类一样的调用;

缓存冒似,真的可以分离出一个 公共程序集,作为核心底层被任何层调用;

#7


我认为:
 IF (B/S架构) {
  cache怎么也不应该出现在客户端
  }
  ELSE
  {
    C/S架构,就另当别论
   }

假设是在B/S架构中,那么要看有无应用服务器。如果有,cache可以放在逻辑或者数据层,如果没有应该放在逻辑层

#1


每次的Cache的用意和目地都是不相同的
关键是你要发现你的瓶颈

#2


个人感觉,基本介于数据和业务之间,我会放在数据层

#3


如果web层 和 业务层都需要Cache  那就直接把Cache分出来一层  专门管理缓存
这样的话   那个层需要就直接引用就可以了  

#4


哪一层都会用到。

#5


就像你的情况   win层就不要引用Cache  而web可以引用

#6


我不知道 该怎么说:

我不用三层架构已经很久了:


三层模式,决定了只能 高层调用低层:而不可以 像调用 List<T> 这些系统类一样的调用;

缓存冒似,真的可以分离出一个 公共程序集,作为核心底层被任何层调用;

#7


我认为:
 IF (B/S架构) {
  cache怎么也不应该出现在客户端
  }
  ELSE
  {
    C/S架构,就另当别论
   }

假设是在B/S架构中,那么要看有无应用服务器。如果有,cache可以放在逻辑或者数据层,如果没有应该放在逻辑层