【案例讨论】从案例引发的对缓存设计的思考,干货讨论,绝对不玩虚的
这样吧,我先开个头,大家可以一起参与!
我首先说说在项目中可以使用缓存的地方。
我这里用一个图可能表述的更加清楚!
如图:
既然我们谈缓存这个话题,那么我们就把这个话题谈细致一点,因为很多时候:谈大帽子的话很多人都会滔滔不绝,但是一到真实的细节与落实的地方,很多人就偃旗息鼓了,呵呵 有点”吹起来,天下无敌;做起来,一无是处“的感觉。
我们首先就来看看浏览器的缓存。
这个好搞啊,做过网站的朋友都知道,这个设置主要就是通过设置:Cache-Control 这个响应头来实现的,如下:
不同的技术平台,实现的方式不一样,大家也不要纠结这些平台的差异,只要最后结果是一样的就OK了,要怀着包容心去看每一种技术,如果连技术的差异性都无法容忍,未必也太小家子气了,呵呵呵。
例如,在微软技术的ASP.NET中,可以通过几种方式来实现:
1.页面中设置,如下:
2.代码中设置,如下:
3.IIS中设置,如下:
浏览器缓存可以缓存图片,js,css,当然,还可以把一些数据,通过js对象的形式保存在浏览器中。
浏览器缓存的问题主要在于图片,js,css的更新上面。
例如如果我们设置了缓存的时间为1一个月,那么这些资源很有可能就在一个月还没有到就因为我们发布新的版本而更新了。这个时候,浏览器不会知道的,还是会使用老的版本。
这不是我们希望看到的,解决的办法也是很简单,如果大家留心点,就会发现很多的站点的js,css是这样命名的:XXX-1.2.js
这就是通过版本控制来来使得浏览器重新下载新的资源。
内容太多,更多请参看:http://www.agilesharp.com/Forum.aspx/t-17
http://bbs.chinaunix.net/thread-3744450-1-1.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?