Jedis 操作 redis
Jedis 操作 redis
我们要使用Java来操作Redis
什么是Jedis?是Redis官方推荐的java连接开发工具!使用Java操作Redis中间件!如果你要使用java操作redis,那么一定要对Jedis十分熟悉!
知其然并知其所以然
测试
1、导入对应的依赖
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.67</version>
</dependency>
2、编码测试:
- 连接数据库 : 打开redis服务
public class test {
public static void main(String[] args) {
// 1、直接new对象即可
Jedis jedis = new Jedis("127.0.0.1", 6379);
// Jedis所有的方法就是我们之前学习的命令
System.out.println(jedis.ping());
}
}
//PONG
- 操作命令
- 断开连接
jedis.close() // 关闭连接
常用的API
String
List
Set
Hash
Zset
public class TestKey {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("清空数据:"+jedis.flushDB());
System.out.println("判断某个键是否存在: "+jedis.exists( "username"));
System.out.println("新增< 'username ' , 'kuangshen'>的键值对:"+jedis.set("username","kuangshen"));
System.out.println("新增<'password' , 'password'>的键值对:"+jedis.set("password","password"));
System. out.print("系统中所有的键如下:");
Set<String> keys = jedis.keys( "*");
System.out.println(keys) ;
System.out.println("删除键password: "+jedis.del( "password"));
System.out.println("判断键password是否存在: "+jedis.exists( "password"));
System.out.println("查看键username所存储的值的类型:"+jedis.type("username"));
System.out.println("随机返回key空间的一个: "+jedis.randomKey());
System.out.println("重命名key: "+jedis.rename( "username" ,"name"));
System.out.println("取出改后的name: "+jedis.get( "name" )) ;
System.out.println("按索引查询:"+jedis.select( 0));
System.out.println("删除当前选择数据库中的所有key: "+jedis.flushDB());
System.out.println("返回当前数据库中key的数目:"+jedis.dbSize());
System.out.println("删除所有数据库中的所有key: "+jedis.flushAll());
}
}
所有的api命令,就是我们对应的上面学习的指令,一个都没有变化!
事务
public class TestTX {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.flushDB();
JSONObject jsonObject = new JSONObject();
jsonObject.put("hello", "world");
jsonObject.put("name", "saxon");
// 开启事务
Transaction multi = jedis.multi();
String result = jsonObject.toJSONString();
//jedis.watch(result); 乐观锁
try {
multi.set("user1",result);
multi.set("user2",result);
//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(); // 关闭连接
}
}
}

浙公网安备 33010602011771号