redisson client 介绍及优缺点

由于redisson是2014年1月份才发布的开源项目,对于很多使用redis的用户来说,还是个新东西,关于redisson的文档除了github上边有简单介绍之外,其它网站还没有,所以我基于对源码的理解还有github介绍,简单介绍下redisson。
 
  redisson实现了分布式和可扩展的java数据结构,支持的数据结构有:List, Set, Map, Queue, SortedSet, ConcureentMap, Lock, AtomicLong, CountDownLatch。并且是线程安全的,底层使用Netty 4实现网络通信。和jedis相比,功能比较简单,不支持排序,事务,管道,分区等redis特性,可以认为是jedis的补充,不能替换jedis。
 
优点:
1.可以使用熟悉的java数据结构,比如要往List中存储1,2,3,4,代码是这样的:
1
2
3
4
5
List<Integer> list = redisson.getList( "list" );
list.add( 1 );
list.add( 2 );
list.add( 3 );
list.add( 4 );

2.支持存储pojo对象,比如要存储一个TestObject,代码是这样的:

1
2
List<TestObject> list = redisson.getList( "list" );
list.add( new  TestObject());

3.是线程安全的,这也是redisson特别强调的,看一下List的存储逻辑,使用watch,muti,exec保证了数据的一致性。  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public  V set( int  index, V element) {
         checkIndex(index);
         RedisConnection<String, Object> conn = connectionManager.connection();
         try  {
             while  ( true ) {
                 conn.watch(getName());
                 V prev = (V) conn.lindex(getName(), index);
 
                 conn.multi();
                 conn.lset(getName(), index, element);
                 if  (conn.exec().size() ==  1 ) {
                     return  prev;
                 }
             }
         finally  {
             connectionManager.release(conn);
         }
     }

缺点:

不支持字符串存储,Redisson的实现类中只支持集合操作,不能对普通字符做操作。
不支持很多redis特性,比如排序,事务,管道,集群等。
发布时间短,稳定性和可靠性有待验证。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值