redis叢集、單擊版本與spring整合步驟

來源:互聯網
上載者:User

標籤:ble   key   stop   tsp   soft   bean   大連   ica   pre   

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

 

  

redis叢集、單擊版本與spring整合步驟

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.