Jedis定义
Jedis就是Redis官方推荐的Java连接开发工具,
相当是数据库在java中的JDBC,
里面封装了对Redis操作的方法
使用前提
下载Jedis工具包,可以去maven官网上找最新的版本
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>
连接Redis
public class Ping {
public static void main(String[] args) {
String host = "127.0.1";
int port = 6379;
Jedis jedis = new Jedis(host,port);
System.out.println(jedis.ping());
}
}
和Redis命令一样,连接成功之后返回一个PONG
常用的API方法
Jedis的API方法和Redis的命令都是一致的: Redis命令
例如:
jedis.set("key","v1"); //设置键值
jedis.sadd("skey","sv1"); //向set中添加键值
System.out.println(jedis.keys("*")); //获取所有键
System.out.println(jedis.get("key")); //获取key
System.out.println(jedis.smembers("skey")); //获取set中的skey
还有很多命令、不过所有的命令和之前学习的Redis命令都是一样的
Jedis事务操作
package com.zzs;
import com.alibaba.fastjson.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;
/***
* @author zzs
* @deprecated Jedis理解事务
*/
public class JedisTransaction {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.1",6379);
jedis.flushDB();
JSONObject jsonObject = new JSONObject();
jsonObject.put("name","zzs");
jsonObject.put("adress","zhangzhou");
String string = jsonObject.toJSONString();
//jedis.watch();
Transaction multi = jedis.multi();
try {
multi.set("key",string);
multi.decr("key"); //属于运行时异常,不影响其他命令,所以没有抛出异常
multi.exec();
} catch (Exception e) {
multi.discard(); //如果事务失败则放弃事务
e.printStackTrace();
} finally {
System.out.println(jedis.get("key"));
jedis.close();
}
}
}