先直接附上單機版的鏈接和增刪改查,7000-7005是端口號java
package com.yilian.util; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisTest { Jedis js = null; private String host = "101.236.39.141"; private int port = 6379; /** * 連接redis數據庫,進行初始化 * * @param hostUrl:連接服務器的ip/名稱 * @param hostPort:主機的端口號 * @return:返回是否初始化連接成功 */ public boolean init(String host, int port) { if (js == null) { js = new Jedis(host, port); } if (js != null) { System.out.println("初始化成功"); return true; } else { return false; } } /** * 連接redis數據庫,進行初始化 * * @param host:連接服務器的ip/名稱 * @return:返回是否初始化連接成功 */ public boolean init(String host) { if (js == null) { js = new Jedis(host); } if (js != null) { System.out.println("初始化成功"); return true; } else { return false; } } /** * 新增數據 * * @param key:新增數據的鍵 * @param value:新增數據的值 * @return:返回boolean值,表示是否新增數據成功 */ public boolean set(String key, String value) { if (js.exists(key)) { System.out.println(key + "已存在"); System.out.println("若要修改數據請使用update()方法"); return false; } else { js.set(key, value); if (js.exists(key)) { if (value.equals(js.get(key))) { System.out.println("增長數據成功"); return true; } else { System.out.println("增長數據失敗"); return false; } } else { System.out.println("增長數據失敗"); return false; } } } /** * 添加多條數據 * * @param map:放置多條數據的鍵值對集合 * @return:返回boolean值,表示是否新增數據所有成功 */ public boolean sets(Map<String, String> map) { boolean sets = true; for (Entry<String, String> e : map.entrySet()) { String key = e.getKey(); String value = e.getValue(); boolean set = set(key, value); if (!set) { sets = false; } } return sets; } /** * 刪除數據 * * @param key:要刪除數據的key * @return:返回boolean值,表示是否刪除成功 */ public boolean delete(String key) { if (js.exists(key)) { if (js.del(key) == 1) { System.out.println("刪除數據成功"); return true; } else { System.out.println("刪除數據失敗"); return false; } } else { System.out.println(key + "不存在"); return false; } } /** * 刪除一組數據 * * @param keys:要刪除數據鍵集合 * @return:返回boolean值,表示是否所有刪除成功 */ public boolean deletes(String[] keys) { boolean deletes = true; for (String key : keys) { boolean delete = delete(key); if (!delete) { deletes = false; } } return deletes; } /** * 修改數據 * * @param key:要修改數據的key * @param value:要修改數據的值 * @return:返回boolean值,表示是否修改爲功 */ public boolean update(String key, String value) { if (js.exists(key)) { js.set(key, value); if (value.equals(js.get(key))) { System.out.println("修改數據成功"); return true; } else { System.out.println("修改數據失敗"); return false; } } else { System.out.println(key + "不存在"); System.out.println("若要新增數據請使用set()方法"); return false; } } /** * 獲取表中數據 * * @param key:要查詢的key * @return:返回查找到的數據;若是鍵不存在則返回null; */ public String get(String key) { if (js.exists(key)) { System.out.println(js.get(key)); return js.get(key); } else { System.out.println(key + "不存在"); return null; } } /** * 獲取多條key的值 * @param keys:多條key的集合 * @return */ public Map<String, String> gets(String[] keys) { Map<String, String> map = new HashMap<String, String>(); for (String key : keys) { if (js.exists(key)) { String value = js.get(key); map.put(key, value); System.out.println(key + "-" + value); } else { System.out.println(key + "不存在"); } } return map; } /** * 得到全部數據的鍵 */ public void getKeys() { Set<String> set = js.keys("*"); if (set.size() != 0) { Iterator<String> it = set.iterator(); while (it.hasNext()) { String key = it.next(); System.out.println(key); } } else { System.out.println("數據庫暫時沒有數據"); } } /** * 查詢全部數據 */ public void getAll() { Set<String> set = js.keys("*"); if (set.size() != 0) { Iterator<String> it = set.iterator(); while (it.hasNext()) { String key = it.next(); String value = js.get(key); System.out.println(key + "-" + value); } } else { System.out.println("數據庫暫時沒有數據"); } } /** * 關閉連接 */ public void unInit() { if (js != null) { js.close(); js = null; } } public static void main(String[] args) { RedisTest re=new RedisTest(); re.init("101.236.39.141", 7000); re.set("11", "2"); re.get("11"); } }
集羣操做,它會本身按照節點去分發redis
package com.yilian.util; import java.util.HashSet; import java.util.Set; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster; public class ClusterDemo { private static JedisCluster jedisCluster=null; private static Set<HostAndPort> hostAndPorts=null; public static Set<HostAndPort> getHostAndPort(String hostAndPort){ Set<HostAndPort> hap = new HashSet<HostAndPort>(); String[] hosts = hostAndPort.split(","); String[] hs = null; for(String host:hosts){ hs=host.split(":"); hap.add(new HostAndPort(hs[0], Integer.parseInt(hs[1]))); } return hap; } public boolean set(String key, String value) { if (jedisCluster.exists(key)) { System.out.println(key + "已存在"); System.out.println("若要修改數據請使用update()方法"); return false; } else { jedisCluster.set(key, value); if (jedisCluster.exists(key)) { if (value.equals(jedisCluster.get(key))) { System.out.println("增長數據成功"); return true; } else { System.out.println("增長數據失敗"); return false; } } else { System.out.println("增長數據失敗"); return false; } } } public static JedisCluster getJedisCluster(){ GenericObjectPoolConfig gopc = new GenericObjectPoolConfig(); gopc.setMaxTotal(32); gopc.setMaxIdle(4); gopc.setMaxWaitMillis(6000); hostAndPorts = getHostAndPort("101.236.39.141:7000"); hostAndPorts = getHostAndPort("101.236.39.141:7003"); hostAndPorts = getHostAndPort("101.236.46.113:7001"); hostAndPorts = getHostAndPort("101.236.46.113:7004"); hostAndPorts = getHostAndPort("101.236.46.114:7002"); hostAndPorts = getHostAndPort("101.236.46.114:7005"); jedisCluster = new JedisCluster(hostAndPorts,gopc); return jedisCluster; } public static void main(String[] args) { jedisCluster = getJedisCluster(); System.out.println(jedisCluster.get("11")); System.out.println(jedisCluster.get("12")); ClusterDemo d=new ClusterDemo(); d.set("14", "4"); // jedisCluster.set("11", "2"); } }