redisson client 介绍及优缺点

    xiaoxiao2021-03-25  114

    由于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特性,比如排序,事务,管道,集群等。 发布时间短,稳定性和可靠性有待验证。
    转载请注明原文地址: https://ju.6miu.com/read-21310.html

    最新回复(0)