14.通过 Jedis 来操作 Redis
jedis 是 Redis 官方推荐的 java 连接开发工具,使用 java 操作 Redis 的中间件。
建一个maven项目
建一个空项目文件夹 Jedis
在 project structure 中删掉 Jedis
新建一个maven的module(项目)
远程连接redis
首先要进行远程服务器redis的密码设置、开放6379端口、去掉保护的操作
导入对应的依赖
<!--jedis-->
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.2.3</version>
</dependency>
<!--fastjason-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version> 2.0.7</version>
</dependency>
</dependencies>
刷新maven项目
编码测试
连接redis数据库
操作命令
断开连接
package com.zhanglei;
import redis.clients.jedis.Jedis;
public class MyJedis {
public static void main(String[] args) {
//创建 Jedis对象,连接远程redis
Jedis jedis=new Jedis("117.50.181.217",6379);
// 数据库连接密码
jedis.auth("zhanglei123");
//测试连接
System.out.println(jedis.ping());
// set key1 value1
System.out.println(jedis.set("key1","value1"));
// get key1
System.out.println(jedis.get("key1"));
}
}
执行结果如下
通过 Jedis 再次理解事务
没有 int i=1/0;
package com.zhanglei;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;
public class TestTX {
public static void main(String[] args) {
//创建 Jedis对象,连接远程redis
Jedis jedis=new Jedis("117.50.181.217",6379);
// 数据库连接密码
jedis.auth("zhanglei123");
// 清空当前数据库
jedis.flushDB();
// 开启事务
Transaction multi=jedis.multi();
try {
// 命令入队
multi.set("zhanglei","25");
multi.set("lutingting","22");
//int i=1/0;
// 执行事务
multi.exec();
} catch (Exception e) {
//放弃事务
multi.discard();
//抛出异常
e.printStackTrace();
}finally{
System.out.println(jedis.get("zhanglei"));
System.out.println(jedis.get("lutingting"));
jedis.close();
}
}
}
有 int i=1/0;