(三)java业务场景篇笔记库(42)

  一 .   缓存概述


1 ) . 缓存的目的 : 

1.1 提高应用程序性能

2 ) . 缓存的存储介质 :  

2.1内存 ; 通常存在内存中,确切的说是存在jvm的内存中

2.2硬盘 :存在硬盘是 因为内存的资源相当有限和宝贵 ,又虽硬盘速度不如内存快,但一样减少了网络通信量,因此还是提高了性能

3 ) . 缓存的分类 :

3.1 客户端缓存  : 通常指的是IE浏览器的缓存

3.2 服务器端缓存 :通常指web服务器的缓存,可以通过第三方组件实现 : oscache,memcache


4 ) . 缓存内容 :

4.1 我们通常将那些访问频繁但是又不经常改变的数据进行缓存
 

5 ) . 刷新缓存 : 

5.1 为了保证缓存数据的有效性,在数据发生改变时,我们要刷新内存,避免脏数据的出现

5.2 刷新缓存的策略有两种 : 定时刷新,手动刷新 

6 ) .  缓存的层次 : 

jsp-->action -->service(放置在service) -->dao  缓存越靠前对性能的提升越大
    
7 ) . 缓存的策略(缓存空间不足,需要进行清理的时候使用) :

7.1 LRU : 最近最少使用原则(理解:存储书)

7.2 FIFO : 先进先出的缓存策略(理解 : 排队) 
8 ) . 我理解的缓存 : 

                                缓存的目的是为了提高应用程序的性能,减少访问数据库的次数,从而提高应用程序的吞吐量,我们通常将权限,菜单,组织机构这些频繁访问但不经常改变的基础数据进行

缓存,其中我在做**项目时通过oscache对ZTree的树形菜单进行了缓存,并且在做的时候和单例设计模式进行结合,另考虑到多线程的安全问题,还对单例模式加入了双重判定锁的检查方式


小结 :  

           1.  缓存是基于Map这种思想构建的,以键值对的方式进行存取
         
 

       二.  实现页面静态化业务场景


1 ) . 使用页面静态化的目的 : 


1.1  提高程序访问的性能,加快用户访问进程

2 ) . 做法:

2.2 考虑到页面有动态变化,采用spring定时器,每天晚上2点终定时再次生成html静态页面

2.3考虑到发布时的性能问题,采用线程池技术,让多个线程同时发布,从而缩减发布时间

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值