Redis集群之Jedis的使用
Posted lamsey16
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis集群之Jedis的使用相关的知识,希望对你有一定的参考价值。
maven依赖
<!-- Redis客户端 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> </dependency>
集群:
纯java模式:
public void testJedisCluster()throws Exception { // 第一步:使用JedisCluster对象。需要一个Set<HostAndPort>参数。Redis节点的列表。 Set<HostAndPort> nodes = new HashSet<>();//set无序但不重复 nodes.add(new HostAndPort("192.168.25.128",7001)); nodes.add(new HostAndPort("192.168.25.128",7002)); nodes.add(new HostAndPort("192.168.25.128",7003)); nodes.add(new HostAndPort("192.168.25.128",7004)); nodes.add(new HostAndPort("192.168.25.128",7005)); nodes.add(new HostAndPort("192.168.25.128",7006)); JedisCluster jedisCluster = new JedisCluster(nodes); // 第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。 jedisCluster.set("hello", "100"); String result = jedisCluster.get("hello"); // 第三步:打印结果 System.out.println(result); // 第四步:系统关闭前,关闭JedisCluster对象。 jedisCluster.close(); }
1.创建nodes节点存储连接方式,nodesnodes是包含
HostAndPort对象的set集合
2.创建JedisCluster 的集群对象。
JedisCluster jedisCluster = new JedisCluster(nodes);
3.进行redis的相关操作
4.关闭连接
集群的xml配置版:
<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg name="nodes"> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.25.128"></constructor-arg> <constructor-arg name="port" value="7001"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.25.128"></constructor-arg> <constructor-arg name="port" value="7002"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.25.128"></constructor-arg> <constructor-arg name="port" value="7003"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.25.128"></constructor-arg> <constructor-arg name="port" value="7004"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.25.128"></constructor-arg> <constructor-arg name="port" value="7005"></constructor-arg> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="192.168.25.128"></constructor-arg> <constructor-arg name="port" value="7006"></constructor-arg> </bean> </set> </constructor-arg> </bean> <bean id="jedisClientCluster" class="com.lamsey.jedis.JedisClientCluster"> <property name="jedisCluster" ref="jedisCluster"/> </bean>
对应的jedisCluster操作实现类JedisClientCluster
public class JedisClientCluster implements JedisClient{ private JedisCluster jedisCluster; public JedisCluster getJedisCluster() { return jedisCluster; } public void setJedisCluster(JedisCluster jedisCluster) { this.jedisCluster = jedisCluster;//bean通过proprety对其进行赋值,从而建立jedisCluster的实例
} @Override public String set(String key, String value) { return jedisCluster.set(key, value); } @Override public String get(String key) { return jedisCluster.get(key); }
...........
}
单机版:
public void testJedis() throws Exception { // 第一步:创建一个Jedis对象。需要指定服务端的ip及端口。 Jedis jedis = new Jedis("192.168.25.128", 7001); // 第二步:使用Jedis对象操作数据库,每个redis命令对应一个方法。 jedis.set("hello", "12344"); String result = jedis.get("hello"); // 第三步:打印结果。 System.out.println(result); // 第四步:关闭Jedis jedis.close(); }
以上是关于Redis集群之Jedis的使用的主要内容,如果未能解决你的问题,请参考以下文章