依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.1</version>
</dependency>连接使用
public class Ping {
public static void main(String[] args) {
//1. new Jedis就建立连接
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println(jedis.ping());
}
}==Jedis所有API都与Redis命令一模一样==
事务
public class Transaction {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println(jedis.flushDB());
Map<String,String> user = new HashMap<>();
user.put("name","doubly");
user.put("hello","world");
String jsonStr = JSONUtil.toJsonStr(user);
redis.clients.jedis.Transaction multi = jedis.multi();
try {
multi.set("user1", jsonStr);
multi.set("user2", jsonStr);
//执行事务
multi.exec();
}catch (Exception ex){
// 放弃事务
multi.discard();
ex.printStackTrace();
}finally {
System.out.println(jedis.get("user1"));
System.out.println(jedis.get("user2"));
//关闭连接
jedis.close();
}
}
}乐观锁
public class OptimisticLock {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
System.out.println(jedis.flushDB());
jedis.set("money","100");
jedis.set("out","0");
jedis.watch("money");
Transaction multi = jedis.multi();
try{
multi.incrBy("out",10);
multi.decrBy("money",10);
int i = 1/0;
multi.exec();
System.out.println("事务执行完成");
}catch (Exception ex){
System.out.println("放弃事务");
System.out.println(multi.discard());
ex.printStackTrace();
}finally {
System.out.println(jedis.get("money"));
System.out.println(jedis.get("out"));
jedis.close();
}
}
}