缓存的主要手段有:浏览器缓存、CDN、反向代理、本地缓存、分布式缓存、数据库缓存。
在解读《大型网站技术架构》一文中,其实已经说到过。
我们一般说做性能优化时是指后三个:本地缓存、分布式缓存、数据库缓存。
前面三个缓存策略属于网站前端的范畴。
从硬件介质上来看,缓存分为内存和硬盘两种。
但从技术上,又可以分成内存、硬盘文件、数据库。
我们通常意义上说的缓存一般都是基于内存的。
因为只有内存,才足够快。
数据库缓存一般也是基于内存的,但这个活一般是DBA在配置数据库的时候就设置好了。
对于大部分开发人员来说,我们一般所说的缓存优化都是基于本地缓存(ocal cache)和远程缓存(remote cache)。
而现在远程缓存这个词一般也被分布式缓存这个常用方案所代指。
4. 什么时候使用缓存?
4.1 缓存的使用判断
什么时候使用缓存的判断其实比较简单,抓住两点就行了:
1、是不是热点数据?
所谓热点,一般是遵循二八定律,即百分之八十的访问集中在百分之二十的数据上。
2、是不是读比写多?
这个比例一般为2:1。
4.2 什么时候不应该使用缓存?
反过来就是了。
1、没有热点数据不要使用缓存,也没什么意义。
因为内存资源是比较宝贵的。
2、频繁修改的数据不要使用缓存。
因为可能写入后还来不及读取就已失效或被淘汰,并且容易产生脏读。
4.3 合理使用缓存
最后,最重要的是确认是否需要使用缓存?
确定了后,再选择合适的缓存工具及使用缓存的方式。
5. 缓存时常见的一些问题
使用缓存优点很多,但也存在一些很常见的问题。双刃之剑,就看怎么用了。
列举一些我们工作中常见的一些缓存问题,并给出至少一种解决方案。

                  
                  
                  
                  
最低0.47元/天 解锁文章
                          
                      
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					1790
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            