java连接redis
1)ip和端口号不正确
2)虚拟机中防火墙的原因(可能性较大)
3)redis.conf 中bind 127.0.0.1 未用#注释掉
对于防火墙可开放对应端口,或者直接关闭防火墙,开放对应端口
常用API
1 package test; 2 3 import redis.clients.jedis.Jedis; 4 5 /* 6 * Copyright (C) 2017 Baidu, Inc. All Rights Reserved. 7 */ 8 9 public class Test { 10 public static void main(String[] args) { 11 Jedis jedis = new Jedis("192.168.101.128", 6379); 12 System.out.println(jedis.ping()); 13 jedis.set("k1", "v1"); 14 jedis.set("k2", "v2"); 15 jedis.set("k3", "v3"); 16 System.out.println(jedis.get("k3")); 17 } 18 }
Redis事务
Jedis jedis = new Jedis("192.168.101.128", 6379); int balance = Integer.parseInt(jedis.get("balance")) ; int debat = Integer.parseInt(jedis.get("debat")) ; jedis.watch("balance"); if (balance < 10) { jedis.unwatch(); System.out.println("error"); } else { Transaction transaction = jedis.multi(); ransaction.decrBy("balance", 10); transaction.incrBy("debat", 10); transaction.exec(); System.out.println("执行成功"); }
主从复制
Jedis jedis_M = new Jedis("192.168.101.128", 6379); Jedis jedis_S = new Jedis("192.168.101.128", 6380); jedis_M.set("k3", "v3"); jedis_M.set("k4", "v4:我是新添加的"); String result = jedis_S.get("k4"); System.out.println(result);