zoukankan      html  css  js  c++  java
  • redis集群、单机版本与spring整合步骤

    1.搭建集群,关闭虚拟机防火墙,或者iptables参数,允许redis集群端口通过 

    service iptables stop 或者 vim /etc/sysconfig/iptables

    2.测试集群(不整合spring)

    @Test
        public void testJedisCluster(){
            HashSet<HostAndPort> nodes = new HashSet<HostAndPort>();
            nodes.add(new HostAndPort("192.168.31.100", 7001));
            nodes.add(new HostAndPort("192.168.31.100", 7002));
            nodes.add(new HostAndPort("192.168.31.100", 7003));
            nodes.add(new HostAndPort("192.168.31.100", 7004));
            nodes.add(new HostAndPort("192.168.31.100", 7005));
            nodes.add(new HostAndPort("192.168.31.100", 7006));
            JedisCluster cluster = new JedisCluster(nodes);
            cluster.set("key1", "1000");
            System.out.println(cluster.get("key1"));
            cluster.close();
        
        }

    3.配置spring文件

      

    <bean id="redisClient" class="redis.clients.jedis.JedisCluster">
            <constructor-arg name="nodes">
                <set>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.31.100"></constructor-arg>
                        <constructor-arg name="port" value="7001"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.31.100"></constructor-arg>
                        <constructor-arg name="port" value="7002"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.31.100"></constructor-arg>
                        <constructor-arg name="port" value="7003"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.31.100"></constructor-arg>
                        <constructor-arg name="port" value="7004"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.31.100"></constructor-arg>
                        <constructor-arg name="port" value="7005"></constructor-arg>
                    </bean>
                    <bean class="redis.clients.jedis.HostAndPort">
                        <constructor-arg name="host" value="192.168.31.100"></constructor-arg>
                        <constructor-arg name="port" value="7006"></constructor-arg>
                    </bean>
                </set>
            </constructor-arg>
          <!-- 可省略 --> <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg> </bean>
    <!-- 连接池配置 -->
        <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>

    4.测试集群(整合spring)

    @Test
        public void testSpringJedisCluster() {
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
            JedisCluster jedisCluster =  (JedisCluster) applicationContext.getBean("redisClient");
            String string = jedisCluster.get("key1");
            System.out.println(string);
            jedisCluster.close();
        }

     5.单击版本测试(不整合spring)

    @Test
        public void testJedisSingle(){
            //创建一个jedis的对象
            Jedis jedis = new Jedis("192.168.31.100", 6379);
            //调用jedis对象的方法,方法名称和redis的命令一致
            jedis.set("key1", "test01");
            System.out.println(jedis.get("key1"));
            //关闭jedis
            
            jedis.close();
        }

    6.单击版本spring配置

    <!-- jedis客户端单机版 -->
        <bean id="redisClient" class="redis.clients.jedis.JedisPool">
            <constructor-arg name="host" value="192.168.31.100"></constructor-arg>
            <constructor-arg name="port" value="6379"></constructor-arg>
            <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
        </bean>

    7.单击版本spring(整合测试)

    @Test
        public void testSpringJedisSingle() {
            ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
            JedisPool pool = (JedisPool) applicationContext.getBean("redisClient");
            Jedis jedis = pool.getResource();
            String string = jedis.get("key1");
            System.out.println(string);
            jedis.close();
            pool.close();
        }

      

  • 相关阅读:
    毕业五年后的差距
    基于jsonlib.jar包Json程序 实战篇
    Hashtable
    [转]浏览器是怎样工作的:渲染引擎,HTML解析
    Web.config之连接字介绍
    jQuery选择器全解【转】
    JavaScript document属性和方法
    zoj 2316 Matrix Multiplication 夜
    zoj 2318 Get Out! 夜
    hdu 3666 THE MATRIX PROBLEM 夜
  • 原文地址:https://www.cnblogs.com/youlangta/p/6938770.html
Copyright © 2011-2022 走看看