maven依賴java
<!-- Redis客戶端 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.2</version> </dependency>
集羣:node
純java模式:redis
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 的集羣對象。maven
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(); }