redis集群版整合spring

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38111957/article/details/82953086

一、引言

国庆小长假接近尾声,该收收心调整状态,迎接下周一的到来。除非你,像小编一样,国庆一直呆在家,所以根本不需要收心,一直保持着淡定的心,哈哈哈~~~ 

redis集群搭建好了,解析来就是怎么用redis集群了。小编从事的java,所以当然也是以java为例。

    <!-- Redis客户端 -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.7.2</version>
        </dependency>

二、使用jedis连接redis集群

先保证能够使用jedis正常操作redis集群


    /**
     * 连接redis集群
     */   
     @Test
    public void testJedisCluster(){
        //redis集群ip+端口号
        Set<HostAndPort> nodes = new HashSet<>();
        nodes.add(new HostAndPort("192.168.100.123",7001));
        nodes.add(new HostAndPort("192.168.100.123",7002));
        nodes.add(new HostAndPort("192.168.100.123",7003));
        nodes.add(new HostAndPort("192.168.100.123",7004));
        nodes.add(new HostAndPort("192.168.100.123",7005));
        nodes.add(new HostAndPort("192.168.100.123",7006));
        //连接redis集群,JedisCluster自带连接池
        JedisCluster jedisCluster = new JedisCluster(nodes);
        //相关操作
        jedisCluster.set("abc","abc");
        System.out.println(jedisCluster.get("abc"));
        //关闭连接
        jedisCluster.close();
    }

三、整合spring

1、创建redis的配置文件applicationContext-redis.xml


    <bean id="redisClusterClient" class="redis.clients.jedis.JedisCluster">
        <constructor-arg name="nodes">
            <set>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.100.123"></constructor-arg>
                    <constructor-arg name="port" value="7001"></constructor-arg>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.100.123"></constructor-arg>
                    <constructor-arg name="port" value="7002"></constructor-arg>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.100.123"></constructor-arg>
                    <constructor-arg name="port" value="7003"></constructor-arg>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.100.123"></constructor-arg>
                    <constructor-arg name="port" value="7004"></constructor-arg>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.100.123"></constructor-arg>
                    <constructor-arg name="port" value="7005"></constructor-arg>
                </bean>
                <bean class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.100.123"></constructor-arg>
                    <constructor-arg name="port" value="7006"></constructor-arg>
                </bean>
            </set>
        </constructor-arg>
    </bean>

2、测试redis集群配置是否成功

 /**
     * 集群版整合spring测试
     */
    @Test
    public void testSpringJedisCluster(){
        //启动srping容器
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
        JedisCluster jedisCluster = (JedisCluster) applicationContext.getBean("redisClusterClient");
        System.out.println(jedisCluster.get("abc"));
    }

3、spring中使用JedisCluster,直接使用@Autowired,更好的使用redis请参考:怎么在spring中更好的去使用redis缓存机制

import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.JedisCluster;

public class JedisClientCluster implements JedisClient {

    @Autowired
    private JedisCluster jedisCluster;

    @Override
    public String get(String key) {
        return jedisCluster.get(key);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_38111957/article/details/82953086