我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > 5个强大的Java分布式缓存框架
总共48087条微博

动态微博

查看: 5931|回复: 5

5个强大的Java分布式缓存框架

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2014-12-15 13:49:48 |只看该作者 |倒序浏览
    在开发中大型java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦。本文主要是分享了5个常用的Java分布式缓存框架,这些缓存框架支持多台服务器的缓存读写功能,可以让你的缓存系统更容易扩展。
    5 G* r& B: e5 z5 b* O2 |8 y0 V$ N! [4 s' l5 J* s
     1、Ehcache – Java分布式缓存框架
    : L% ?& p7 e9 h2 r
    " F) U. o, G* @3 E' @% [  Ehcache是一个Java实现的开源分布式缓存框架,EhCache 可以有效地减轻数据库的负载,可以让数据保存在不同服务器的内存中,在需要数据的时候可以快速存取。同时EhCache 扩展非常简单,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。
    : w' g: U" [) ^' u官方网站:http://ehcache.org/
    9 h. g2 z) g: m7 V
    ) Y, Y7 h3 {- e/ b2 m1 w& B" W- {+ o  Ehcache有以下特点:  f( x/ I  N0 n+ A

    3 E9 m4 z7 G# R0 Z存取速度非常快,性能很不错。/ s0 {0 z; [" B
    可以应用多种缓存策略。% L7 F6 e. k( ]4 s3 ~) I
    分级缓存,用户可以指定哪些数据在硬盘中缓存,哪些数据在内存中缓存。3 k2 A+ G1 U3 b6 E
    可以通过RMI、可插入API等方式进行分布式缓存。
    # S9 f& L: @1 a0 N7 V5 e1 J具有缓存和缓存管理器的侦听接口。
    ( F4 t4 E( r" h) t& n支持多缓存管理器实例,以及一个实例的多个缓存区域。+ r5 z2 q4 {0 O5 J  S% \& U
    默认提供hibernate的缓存实现。) N/ {1 y% I0 D  G) Q1 D6 l
    1 i/ d4 W0 c# n6 G

    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    admin    

    1244

    主题

    544

    听众

    1万

    金钱

    管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    沙发
    发表于 2014-12-15 13:50:18 |只看该作者
    2、Cacheonix – 高性能Java分布式缓存系统& P0 w( a; K0 _9 m) p

    ; J2 K4 w0 J$ q+ _8 [  Cacheonix同样也是一个基于Java的分布式集群缓存系统,它同样可以帮助你实现分布式缓存的部署。( M+ ?- j$ e- N
    / s( ]" f' Q  ~3 E" S
    " h* C! m: Y2 M. u# n! ?
    9 l, D3 m: c- s
      官方网站:http://www.cacheonix.com/* U4 q* a( t7 q8 v  D! p3 \
    ( q. s8 G1 l6 w, m7 P, E+ p+ s
      Cacheonix的特点# S" Q* g: M5 `  c. Z. y7 o! Y) V

    5 Q; b0 {2 v) V9 M可靠的分布式 Java 缓存
    ' |* g# D) m+ C1 i通过复制实现高可用性
    , ?9 C6 i, k" Y+ \4 B$ x8 @支持泛型的缓存 API$ R$ G# X' A- w5 Z$ n2 @
    可与 ORM 框架集成
    , `. a5 e4 s& I3 f使用数据分区实现负载均衡
    : X! g- k( z" r6 M* V支持非多播网络
    , `4 e/ D. o; f1 ^9 a* `8 \6 H& {5 p0 i高性能计算
    , c( I. {, G# e( p  q1 |: ~快速的本地 Java 缓存9 R. L. |: t( \  |# f% T8 F
    分布式锁机制
    回复

    使用道具 举报

    admin    

    1244

    主题

    544

    听众

    1万

    金钱

    管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    板凳
    发表于 2014-12-15 13:52:01 |只看该作者
    3、ASimpleCache – 轻量级Android缓存框架
    ) n6 ~0 d, D  k. U' u% g+ U6 ]: f8 ^9 z9 n) C! Z/ E0 C
      ASimpleCache是一款基于Android的轻量级缓存框架,它只有一个Java文件,ASimpleCache基本可以缓存常用的Android对象,包括普通字符串、JSON对象、经过序列化的Java对象、字节数组等。8 P$ r; Z2 ?( E8 }5 `# a  s) h
    * b( X, c8 D; Q0 {# N- D4 ~0 F& P# Q
    & O+ R4 |7 s  P9 L1 _9 }2 E: w
    : m& Q+ y% Q7 J5 c
      官方网站:https://github.com/yangfuhai/ASimpleCache
      M* h6 B0 J/ n
    % I, A; T7 h( i2 {8 X- b  ASimpleCache可以缓存哪些东西# [) d+ `2 J# ]3 G% {
    6 X* ]3 L! v, }, L0 O6 ?
      ASimpleCache基本可以缓存常用的Android对象,包括但不限于以下几种类型:
    ; P/ H5 z6 X" v4 X% H0 G( W8 }2 I: U0 Z: t2 g
    普通字符串
    5 t, N/ }2 n/ b3 W3 X; \2 EJSON对象5 E! X0 }4 J" i% ]! K0 j
    经过序列化的Java对象! P" I9 E$ Q; a  E# a
    字节数组. u: ^' r4 U7 u9 U& E# ?3 y
      ASimpleCache的特点$ T' o3 Z0 s" u" Q& C; r
    8 u8 w' C* a$ w1 U: V& m
    轻量级,只有一个Java文件2 X9 H* a0 V  g' L3 Y
    完整而灵活的配置,可以配置缓存路径,缓存大小,缓存数量,缓存超时时间等。
    ( v. B6 P! [5 V! d" h, C3 j7 u超时缓存自动失效,并从内存中自动删除。5 a0 g% ?/ w7 L4 {; s! ?9 E
    多进程的支持1 y3 ?: m2 H7 i' i* \% w/ d. ~* }
      在Android开发中,我们可以用ASimpleCache来替换SharePreference配置文件,特别是如果你的应用经常要从互联网上读取数据,那么利用ASimpleCache可以缓存这些请求数据,等一段时间失效后再去重新读取,这样可以减少客户端流量,同时减少服务器并发量。
    回复

    使用道具 举报

    admin    

    1244

    主题

    544

    听众

    1万

    金钱

    管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    地板
    发表于 2014-12-15 13:55:21 |只看该作者
    4、JBoss Cache – 基于事物的Java缓存框架
    - M' A: j- o: S; U* e; k  L$ P2 L* N7 d7 P/ y( l8 G9 d2 B
      JBoss Cache是一款基于Java的事务处理缓存系统,它的目标是构建一个以Java框架为基础的集群解决方案,可以是服务器应用,也可以是Java SE应用。
    ( b' `7 @  `" C# L  F2 D
    % d3 @2 A- a# V4 |9 M: L/ ]' u. x* A* C2 n6 x/ J5 G0 m3 Y

    ! y0 ^& @5 R. N# _- D" c( n  官方网站:http://jbosscache.jboss.org/
    ' K: k0 w! f7 U
    ( N6 T& y# _; z- r7 x6 ?% ?  集群高可用性7 j, H. s' [- q  i6 ?
    4 U, I5 E- b: \! ^! [
      JBoss Cache将会自动复制缓存数据,并且在集群中的服务器之间进行缓存数据的同步,这样可以保证任何一台服务器重启了都不会影响缓存的可用性。5 ~  K: u# v7 J+ c

    0 ^4 W$ m4 ?. V* s& U7 b+ o  M  集群缓存可避免系统瓶颈
    ) R( k3 V. Y% l6 P9 W, P6 T& f4 e! I" {: n, [- t2 I+ w* T# j
      JBoss Cache顾名思义是利用缓存来提高系统扩展性的,当我们的WEB系统遇到大量的数据库读写时,系统的瓶颈将会出现在数据库端,JBoss Cache正好可以解决数据库的频繁读取问题,解决这个瓶颈。
    ( i3 Z5 {5 v, y2 B4 }5 Y4 B5 J5 Y5 f/ K. s" Y) _- |' S+ L% G
      另外,由于JBoss Cache的缓存是在集群中的每一个服务器间同步的,因此也不会因为一台缓存服务器遇到性能问题而影响整个系统。
    回复

    使用道具 举报

    admin    

    1244

    主题

    544

    听众

    1万

    金钱

    管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    5#
    发表于 2014-12-15 13:55:55 |只看该作者
    5、Voldemort – 基于键-值(key-value)的缓存框架8 j% @1 V# ]  S0 E
    3 n0 R8 a* X5 a. q- w* G9 Q1 b
      Voldemort是一款基于Java开发的分布式键-值缓存系统,像JBoss Cache一样,Voldemort同样支持多台服务器之间的缓存同步,以增强系统的可靠性和读取性能。
    ; v6 t. w  \1 m/ V6 v& X! t
    1 F0 B* |& V% s$ m4 J' z% C; k5 f  l$ L
    6 J! f% I$ i1 Q' H( i$ ?& u
      官方网站:http://www.project-voldemort.com/voldemort/
    . o" i3 B+ o! W) {
    $ a& F7 s0 B" m: z, d  Voldemort的特点7 c/ c3 I2 M! Z+ u

    ' q5 j' }* m$ c5 H4 k缓存数据可以自动在各个服务器节点之间同步复制。
    ' T( O4 t5 [4 `7 v5 C9 \( L) ^  S每一个服务器的缓存数据被横向分割,因此是总缓存的一个子集。  }0 a( ]% V8 [6 A8 [# d+ j
    严格保持缓存的一致性。* c! @. i+ e' D* K
    提供服务器宕机快速恢复方案。
    $ d7 c2 f7 t* L# M/ P, N# J可配置的数据存储引擎。+ B" g8 v; u# [- A7 ~
    可配置的数据序列化方式。
    : V9 T* a  S8 z+ D% I8 X8 ]6 O6 P每一个数据项都有版本标识,用来保证数据的完整性和可用性。
    4 P* e9 W/ R# @% A# d: C8 U每一个缓存节点都是独立的,因此任何一个节点的故障都不会影响系统的正常运行。
    回复

    使用道具 举报

    2

    主题

    0

    听众

    96

    金钱

    三袋弟子

    该用户从未签到

    6#
    发表于 2014-12-18 19:07:27 |只看该作者
    学习了,
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表