当前位置: 代码迷 >> 综合 >> spring JedisCluster操作rediscluster crud
  详细解决方案

spring JedisCluster操作rediscluster crud

热度:67   发布时间:2023-09-20 09:44:21.0

jedisCluster

测试代码

 

// 连接redis集群

    @Test

    public void testJedisCluster() {

 

       JedisPoolConfig config = new JedisPoolConfig();

       // 最大连接数

       config.setMaxTotal(30);

       // 最大连接空闲数

       config.setMaxIdle(2);

       //集群结点

       Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();

       jedisClusterNode.add(new HostAndPort("192.168.101.3", 7001));

       jedisClusterNode.add(new HostAndPort("192.168.101.3", 7002));

       jedisClusterNode.add(new HostAndPort("192.168.101.3", 7003));

       jedisClusterNode.add(new HostAndPort("192.168.101.3", 7004));

       jedisClusterNode.add(new HostAndPort("192.168.101.3", 7005));

       jedisClusterNode.add(new HostAndPort("192.168.101.3", 7006));

       JedisCluster jc = new JedisCluster(jedisClusterNode, config);

      

       JedisCluster jcd = new JedisCluster(jedisClusterNode);

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

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

       System.out.println(value);

    }

使用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() {

       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);

         }

redisCluster应用测试代码

spring JedisCluster操作rediscluster crud

 

jar包

spring JedisCluster操作rediscluster crud

  相关解决方案