关于asp.net core mvc页面缓存压缩的问题,求大神指点一二
黑子大哥 2019-02-18 02:19:15 是这样子的,使用asp.net core开发的网站,输出的html去掉空格,换行符号等,请问怎么操作?
页面缓存怎么做呢?我想实现,当页面被访问的时候自动生成服务器的本地缓存文件,当文件未过期的时候直接返回缓存内容,已过期或者尚未缓存的情况下就生成一分新的缓存,方便下次调用,
起初我想过添加一个属性,不存在缓存或者已过期直接保存html到本地,存在就直接读取HTML内容返回即可,问题是设计到高并发,如果同时一百个人访问,正好缓存内容过期了,那么就会发生一百个访问都需要生成,肯定会发生并发写入,如果用lock,那么就会导致这一百个访问非常非常的慢。如果用队列,将需要缓存的内容暂存一下,开额外的线程顺序写入,那么也会存在一个问题,被读的文件不能被写入,也会抛出异常(可能存在,比如首页正在被打开读取内容,同时被判定为过期,写入,打开会抛出异常)。请问一下怎么解决这个问题呢?
看了ResponseCache属性,这个属性实际上是在页面header添加了max-age内容,如果按F5还是会进入控制器,所以他不能满足要求。