Redis Data Summary (10) Java Client

Source: Internet
Author: User
Tags redis version

The Java clients listed on the Redis home page have Jdbc-redis Jredis Jedis three, and the following describes the advantages and disadvantages of three clients and other related tools.

 

Redis version supported performance maintenance recommended
     
jredis 1.2.N release
2.0.0 Not yet release version
fast   & nbsp;
jedis 2.0.0 release actively developed recommended

Jdbc-redis

Jdbc-redis is just a JDBC wrapper for Jredis database.
If you plan on the using your code with different back-ends then the JDBC is a good the go. Note:it is isn't a complete JDBC implementation and the NOSQL would bleed through.

If you were going to stay with Redis then I would suggest using the API, which would give you more flexibility. Use a DAO layer pattern to encapsulate your DB Access and down the road, that's all you'll need to change.

-Romain Hippeau

Redis syntax is completely different from standard SQL so using JDBC doesn ' t help encapsulating different Back-ends As you suggest:i would has to write new queries Anyway...–muriloq June "
at
@muriloq-but the mechanical acquiring and releasing resources is Standard.–romain Hippeau

Spring Wrapper

Spring provides a wrapper around both implementations (Jredis Jedis) and they ' re providing serialization/deserializatio N, amongst other things: 

1234 person p = new person ( "Joe" 33 ); template.convertandset ( "trader:1" , p); person Sameperson = Template.getandconvert ( "trader:1" , person. class assert.assertequals (p, Sameperson);
The above method may have been adjusted, see the latest http://static.springsource.org/spring-data/data-keyvalue/docs/1.0.0.M2/reference/html/#redis
Discard Spring Wrapper

The project originally intended to use the spring wrapperBean id = "jedisPoolConfig" class = "redis.clients.jedis.JedisPoolConfig" >

   < property name = "maxActive" value = "20" />     < property name = "maxIdle" value = "10" />     < property name = "maxWait" value = "1000" /> </ bean > <!-- jedis shard信息配置 --> < bean id = "jedis.shardInfo" class = "redis.clients.jedis.JedisShardInfo" >    < constructor-arg index = "0" value = "*.*.*.*" />     < constructor-arg index = "1" value = "6379" /> </ bean > <!-- jedis shard pool配置 --> < bean id = "shardedJedisPool" class = "redis.clients.jedis.ShardedJedisPool" >    < constructor-arg index = "0" ref = "jedisPoolConfig" />     < constructor-arg index = "1" >      < list >        < ref bean = "jedis.shardInfo" />      </ list >    </ constructor-arg > </ bean > < bean id = "jedisCommands" factory-bean = "shardedJedisPool" factory-method = "getResource" />

The above method of matching gets the instantiation of jediscommands at spring initialization, and then each Redis call is not fetched from the pool, the solution:

Set up

1234567891011121314151617181920212223 <!-- POOL配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">  <property name="maxActive"value="20" />  <property name="maxIdle" value="10" />  <property name="maxWait" value="1000" />  <property name="testOnBorrow"value="true"/></bean><!-- jedis shard信息配置 --><bean id="jedis.shardInfo" class="redis.clients.jedis.JedisShardInfo">  <constructor-arg index="0" value="*.*.*.*" />  <constructor-arg index="1" value="6379" /></bean><!-- jedis shard pool配置 --><bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">  <constructor-arg index="0" ref="jedisPoolConfig" />  <constructor-arg index="1">    <list>      <ref bean="jedis.shardInfo" />    </list>  </constructor-arg></bean>

Reference:
Http://stackoverflow.com/questions/3047010/best-redis-library-for-java
Https://github.com/xetorthio/johm

Https://github.com/xetorthio/jedis/issues/closed#issue/76

Redis Data Summary (10) Java Client

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.