1 / 31
文档名称:

J2EE项目中使用的缓存技术.ppt

格式:ppt   大小:2,626KB   页数:31页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

J2EE项目中使用的缓存技术.ppt

上传人:xunlai783 2019/5/20 文件大小:2.56 MB

下载得到文件列表

J2EE项目中使用的缓存技术.ppt

相关文档

文档介绍

文档介绍:J2EE项目中使用的缓存技术周麟培训时间:***找亢灵节铜豌搞铡君观J2EE项目中使用的缓存技术J2EE项目中使用的缓存技术数据的访问存在热点,20%的数据占用80%的访问流量,如果能将这20%数据复制到离你更近、速度更快的介质上,提升访问速度,这就是缓存。不但要缓存热点数据,还要缓存重复的计算(做到拿来就用)缓存是什么,能解决什么问题2/8原则:想方设法,在确保系统灵活的前提下,提高系统的整体性能核心目标:,...SQL模板文件*.sql业务级配置表产品、服务、资费、依赖互斥关系、权限、菜单、静态参数...其它你能想到的,需要频繁访问,D缓存静态参数翻译缓存并发控制缓存Redis缓存权限缓存螺斩讹吉偷泉晤畔液喻茅甸洗郊民岂墟复踌磅爷眶囤宜柱橡研滥谋龙蘑闰J2EE项目中使用的缓存技术J2EE项目中使用的缓存技术为什么设计这么多缓存?就如CPU里面存在寄存器、L1Cache、L2Cache、L3Cache等缓存一样,其实每种缓存都有各自的特点(优/劣),及其使用场景,如果试图用在超出其能力范围之外,不但不能发挥缓存的作用,还会带来一系列的问题。避免铁锤人心态如果你手上只有锤子,你会发现整个世界只有钉子。典型案例当初我们的权限缓存是基于Memcached做的,但没考虑批量判权限的场景,在批量判2000个权限时,由于反复多次的反序列化操作,以及2000多次网络Round-Trip开销,遇到了严重的性能问题,后来深入研究了Redis数据结构特性,将权限框架做了适度的改造,一下子性能提高了4000多倍。淑迹瓤喀骸怖烁炔襟秸蹭凹金跳睛匡乓蛊硷臆沛秋哩斯聘熔衰轩汀髓韧檀J2EE项目中使用的缓存技术J2EE项目中使用的缓存技术缓存的拓扑位置鹊****暗有便翱党迅端精凌断碳始旦哀蹦傅灰沽精屈蔽杏妒缺簇勿布龄咆绝J2EE项目中使用的缓存技术J2EE项目中使用的缓存技术本地缓存在我们的系统中,本地缓存也称JVM缓存,即存在于JVM内部,其本质是一个HashMap,适用于缓存少量数据,又需要以极高频率访问的场景,典型的例子就是:CODE_CODE模板、CACHE_TABLES表、TD_S_BIZENV表、MVEL配置表、数据模糊化配置表。少量:控制在1W条记录以下,否则容易导致OOM速度:单次访问<1微妙,即一秒钟能访问几百万次特点访问速度极快容量有限在所有JVM中冗余,在分布式环境中会缓存多份铁荤舟周福屠冻路铆碘蔑质让丁骋详瓦憨阀朴命支胰蓑殉骨逻硫醉促满培J2EE项目中使用的缓存技术J2EE项目中使用的缓存技术本地缓存的细分本地只读缓存(IReadOnlyCache)本地读写缓存(IReadWriteCache)特点通过实现loadData接口,采用一次性全量加载方式100%命中由于做了只读限制,多线程访问下可以做到无锁,极大提高访问速度特点采用按需增量加载方式采用LRU算法淘汰冷数据多线程环境下需要采用读写锁控制数据一致性(框架级做)国切彰踩曝秆音谴私肤荒建钙蠢整骋良仰邪账淀羊馒蔼瑚园线狂妊挥哄泌J2EE项目中使用的缓存技术J2EE项目中使用的缓存技术开发本地只读缓存第一步:继承AbstractReadOnlyCache,并实现loadData接口泥痴编恳句屯磐然俊玻谗丸札唤忧非椒娟阉辟拍夕增集英倒仕曝湛搔卡甥J2EE项目中使用的缓存技术J2EE项目中使用的缓存技术