什么是jedis?
是Redis官方推荐的java链接开发工具,使用java操作Redis的中间件!如果要使用java操作Redis,那么一定要对jedis十分熟悉
1,导入相关依赖
<!--导入jedis的包--> <dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.73</version> </dependency> </dependencies>
2,编码测试
连接Redis数据库
public class TestPing { public static void main(String[] args) { //1.new jedis 对象即可 Jedis jedis = new Jedis("127.0.0.1",6379); //2.jedis所有的命令就是官文的操作指令 System.out.println(jedis.ping()); } }
输出:(连接成功)
3.常用API
String
List
Set(具有数据的交叉并)
Hash
Zset
三大特殊数据类型:geospatial(地址空间类型) hyperloglog(基数) bitmap(位存储)
4,用jedis写一个事务demo
//reids事务demo public class TestJedisTransaction { public static void main(String[] args) { Jedis jedis = new Jedis("127.0.0.1", 6379); JSONObject jsonObject = new JSONObject(); jsonObject.put("hello","World1"); jsonObject.put("hello2","World2"); jsonObject.put("hello3","龙神"); //开启事务 Transaction multi = jedis.multi(); String result = jsonObject.toJSONString(); try{ multi.set("user1",result); multi.set("user2",result); int i = 1/0; multi.exec();//如果成功,执行事务 }catch (Exception e){ //由于redis没有原子性,所以用关闭事务的方式来模拟事务的的原子性 multi.discard();//如果失败就放弃事务 e.printStackTrace(); }finally { System.out.println(jedis.get("user1")); System.out.println(jedis.get("user2")); jedis.close();//关闭连接 } } }