Java 项目中使用 Redis 集群操作

1. 直接操作

Java 使用 Redis 集群

2.  使用Spring

配置applicationContext.xml

<!-- 连接池配置 -->

<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

       <!-- 最大连接数 -->

       <property name="maxTotal" value="30" />

       <!-- 最大空闲连接数 -->

      <property name="maxIdle" value="10" />

      <!-- 每次释放连接的最大数目 -->

      <property name="numTestsPerEvictionRun" value="1024" />

      <!-- 释放连接的扫描间隔(毫秒) -->

      <property name="timeBetweenEvictionRunsMillis" value="30000" />

      <!-- 连接最小空闲时间 -->

     <property name="minEvictableIdleTimeMillis" value="1800000" />

     <!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->

     <property name="softMinEvictableIdleTimeMillis" value="10000" />

     <!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->

     <property name="maxWaitMillis" value="1500" />

     <!-- 在获取连接的时候检查有效性, 默认false -->

     <property name="testOnBorrow" value="true" />

     <!-- 在空闲时检查有效性, 默认false -->

     <property name="testWhileIdle" value="true" />

     <!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->

     <property name="blockWhenExhausted" value="false" />

</bean>

<!-- redis集群 -->

<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">

      <constructor-arg index="0">

           <set>

                 <bean class="redis.clients.jedis.HostAndPort">

                     <constructor-arg index="0" value="192.168.101.3"></constructor-arg>

                     <constructor-arg index="1" value="7001"></constructor-arg>

                </bean>

                <bean class="redis.clients.jedis.HostAndPort">

                     <constructor-arg index="0" value="192.168.101.3"></constructor-arg>

                     <constructor-arg index="1" value="7002"></constructor-arg>

               </bean>

               <bean class="redis.clients.jedis.HostAndPort">

                      <constructor-arg index="0" value="192.168.101.3"></constructor-arg>

                      <constructor-arg index="1" value="7003"></constructor-arg>

               </bean>

              <bean class="redis.clients.jedis.HostAndPort">

                      <constructor-arg index="0" value="192.168.101.3"></constructor-arg>

                     <constructor-arg index="1" value="7004"></constructor-arg>

             </bean>

             <bean class="redis.clients.jedis.HostAndPort">

                     <constructor-arg index="0" value="192.168.101.3"></constructor-arg>

                     <constructor-arg index="1" value="7005"></constructor-arg>

             </bean>

             <bean class="redis.clients.jedis.HostAndPort">

                       <constructor-arg index="0" value="192.168.101.3"></constructor-arg>

                       <constructor-arg index="1" value="7006"></constructor-arg>

              </bean>

         </set>

      </constructor-arg>

      <constructor-arg index="1" ref="jedisPoolConfig"></constructor-arg>

</bean>

 

测试集群
 

private ApplicationContext applicationContext;

       @Before

       public void init() {

              //初始化IOC容器

              applicationContext = new ClassPathXmlApplicationContext(

                     "classpath:applicationContext.xml");

      }

 

      // redis集群

      @Test

      public void testJedisCluster() {

                  JedisCluster jedisCluster = (JedisCluster) applicationContext

                         .getBean("jedisCluster");

 

                  jedisCluster.set("name", "zhangsan");

                  String value = jedisCluster.get("name");

                  System.out.println(value);

}

 

相关文章: