Jedis单机版和集群版灵活切换之xml文件配置和代码实现

请先下载jar包Jedis单机版和集群版连接工具,导入工程中

该包目录结构为:

1、创建spring文件applicationContext-jedis.xml,添加如下内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">

    <!--注解扫描-->
    <context:annotation-config/>


</beans>

     先进行注解扫描配置

 <context:annotation-config/>

    如果xml中有配置如下,则表示注解扫描和bean创建都执行了,就不用再加上面的语句

<context:component-scan base-package="com.taotao.content.service"/>

  2、 单机版,添加如下代码片段到applicationContext-jedis.xml中

    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="host" value="192.168.26.158"/>
        <constructor-arg name="port" value="6379"/>
    </bean>
    <bean id="jedisClientPool" class="com.taotao.jedis.JedisClientPool"/>

   3、 集群版,添加如下代码片段到applicationContext-jedis.xml中

  <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
        <constructor-arg>
            <set>
                <bean id="hostAndPort" class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.26.158" />
                    <constructor-arg name="port" value="7001"/>
                </bean>
                <bean id="hostAndPort" class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.26.158" />
                    <constructor-arg name="port" value="7002"/>
                </bean>
                <bean id="hostAndPort" class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.26.158" />
                    <constructor-arg name="port" value="7003"/>
                </bean>
                <bean id="hostAndPort" class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.26.158" />
                    <constructor-arg name="port" value="7004"/>
                </bean>
                <bean id="hostAndPort" class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.26.158" />
                    <constructor-arg name="port" value="7005"/>
                </bean>
                <bean id="hostAndPort" class="redis.clients.jedis.HostAndPort">
                    <constructor-arg name="host" value="192.168.26.158" />
                    <constructor-arg name="port" value="7006"/>
                </bean>
            </set>
        </constructor-arg>
    </bean>
    <bean id="jedisClientCluster" class="com.taotao.jedis.JedisClientCluster"/>

2、配置完成后,可在test类中进行测试,测试前确保Redis服务器都已经打开

     代码说明:JedisClient 为类JedisClientCluster和JedisClientPool的父接口,所以此处为Java的策略模式(接口加实现类的模式)的运用。

 @Test
    public void testJedisClient() throws Exception{
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext-jedis.xml");
        JedisClient jedisClient = applicationContext.getBean(JedisClient.class);
//        jedisClient.set("clientTest","Congratulations ,you are sucess");
        jedisClient.set("clusterTest1","Congratulations ,you are sucess1");
        System.out.println(jedisClient.get("clusterTest1"));
    }

3、在Java端用接口调用的优势

      只用在配置文件中选择使用单机版还是集群版,Java代码不用修改;

温馨提示:如果在web.xml中引用了该配置文件,服务器启动/或第一次访问时时,就自动创建了bean,此处就直接使用jedisClient对象即可,不用在手动开启此配置文件 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值