一、哨兵模式
package test; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisSentinelPool; public class jsontest { static Map<String,Map<String, Object>> map = new HashMap<String,Map<String,Object>>(); public static void main(String[] args) throws Exception{ Set<String> sentinels = new HashSet<String>(); String hostAndPort1 = "192.168.121.14:6380"; String hostAndPort2 = "192.168.121.12:6381"; sentinels.add(hostAndPort1); sentinels.add(hostAndPort2); String clusterName = "mymaster"; @SuppressWarnings("resource") JedisSentinelPool redisSentinelJedisPool = new JedisSentinelPool(clusterName,sentinels); Jedis jedis = null; try { jedis = redisSentinelJedisPool.getResource(); jedis.get("foo"); System.out.println(jedis.get("foo")); } catch (Exception e) { e.printStackTrace(); } finally { redisSentinelJedisPool.returnBrokenResource(jedis); } } }
二、分片集群
package test; import java.io.IOException; import java.util.LinkedHashSet; import java.util.Set; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster; import redis.clients.jedis.JedisPoolConfig; public class JedisTest { public static void main(String[] args) throws Exception{ JedisPoolConfig poolConfig = new JedisPoolConfig(); // 最大连接数 poolConfig.setMaxTotal(1); // 最大空闲数 poolConfig.setMaxIdle(1); // 最大允许等待时间,如果超过这个时间还未获取到连接,则会报JedisException异常: // Could not get a resource from the pool poolConfig.setMaxWaitMillis(1000); Set<HostAndPort> nodes = new LinkedHashSet<HostAndPort>(); nodes.add(new HostAndPort("192.168.121.12", 6379)); nodes.add(new HostAndPort("192.168.121.12", 6380)); nodes.add(new HostAndPort("192.168.121.12", 6381)); nodes.add(new HostAndPort("192.168.121.14", 6379)); nodes.add(new HostAndPort("192.168.121.14", 6380)); nodes.add(new HostAndPort("192.168.121.14", 6381)); JedisCluster cluster = new JedisCluster(nodes, poolConfig); String name = cluster.get("daxue"); System.out.println(name); cluster.set("ddd","101"); System.out.println(cluster.get("ddd")); System.out.println(cluster.get("age")); try { cluster.close(); } catch (IOException e) { e.printStackTrace(); } } }