Jedis
是Redis官方推荐的java连接开发工具
, 使用ava操作Redis中间件
首先创建一个空项目:
创建一个Maven的Module项目:
一路next
即可。
因为该项目的最先创建的是空项目,所以需要手动调节部分配置:
以下修改的都是JDK配置,按照自己电脑为准
Java Compiler
<!--导入jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency> <!--fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency>
先打开你电脑上的
redis-server
public class TestPing { public static void main(String[] args) { Jedis jedis = new Jedis("127.0.0.1",6379); System.out.println(jedis.ping()); } }
所有的命令,就和在
Linux
中使用Redis 没有区别,以下对String
、List
进行举例:
String 命令
Jedis jedis = new Jedis("127.0.0.1",6379); System.out.println("String存入数据:"+jedis.set("k", "v")); System.out.println("String获取数据:"+jedis.get("k")); System.out.println("String查看该元素是否存在"+jedis.exists("k")); System.out.println("String追加字符串:"+jedis.append("k","、hello")); System.out.println("String获取字符串长度:"+jedis.strlen("k")); System.out.println("String设置过期时间:"+jedis.setex("k1",3,"test")); // 睡眠3s,验证k1是否过期 Thread.sleep(3000); System.out.println("String查看是否过期:"+jedis.ttl("k1")); System.out.println("String不存在再设置:"+jedis.setnx("k2","v2")); System.out.println("String同时设置多个值:"+jedis.mset("k3","v3","k4","v4")); System.out.println("String同时获取多个值:"+jedis.mget("k3","k4"));
List 命令
System.out.println("清除数据:"+jedis.flushDB()); System.out.println("List存入数据(头插):"+jedis.lpush("list","one","two","three")); System.out.println("List存入数据(尾插):"+jedis.rpush("list","right")); System.out.println("List获取范围内的数据:"+jedis.lrange("list",1,2)); System.out.println("List通过下标获得值:"+jedis.lindex("list",1)); System.out.println("List获取列表长度:"+jedis.llen("list")); System.out.println("List移除指定数据:"+jedis.lrem("list",1,"one")); System.out.println("List替换指定位置的值:"+jedis.lset("list",0,"test")); System.out.println("List插入具体值:"+jedis.linsert("list", ListPosition.BEFORE,"two","111111")); System.out.println("List查看全部的元素:"+jedis.lrange("list",0,-1)); System.out.println("List取出数据(从头部):"+jedis.lpop("list")); System.out.println("List取出数据(从尾部):"+jedis.rpop("list"));
- 连接Redis
- 开启事务
- 存入数据
- 运行
- 若正常,直接执行事务
- 若出异常,事务直接结束
- 最后关闭连接
public class AffairsTesi { public static void main(String[] args) { Jedis jedis = new Jedis("127.0.0.1", 6379); jedis.flushDB(); JSONObject jsonObject = new JSONObject(); jsonObject.put("k", "v"); jsonObject.put("name", "zc"); //开启事务 Transaction multi = jedis.multi(); String s = jsonObject.toJSONString(); try { multi.set("user1", s); multi.set("user2", s); // int i = 1/0 ; // 加入该句,可以使之产生异常,自行测试 multi.exec(); // 没出问题 ,执行事务 } catch (Exception e) { multi.discard(); // 出异常,结束事务 e.printStackTrace(); } finally { System.out.println(jedis.get("user1")); System.out.println(jedis.get("user2")); jedis.close(); // 最终关闭连接 } } }
正常结束
异常结束
个人博客为:
MoYu's HomePage