请先下载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对象即可,不用在手动开启此配置文件