版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
}
}