java redis multi_【Redis学习系列】Jedis

本文介绍了如何在Java中使用Jedis库与Redis进行交互,包括String类型的操作如设置、获取、删除和类型检查,List类型的插入与查询,以及事务处理的示例。此外,还展示了如何在Springboot 2.x中使用Jedis。
摘要由CSDN通过智能技术生成

Redis Java

起初Redis和Java的交互是通过官方推荐的jedis来完成的;但是Springboot 2.x版本后官方已经不推荐时间jedis了。下面对jedis的使用做个简单的介绍。

引入maven依赖

redis.clients

jedis

3.5.1

com.alibaba

fastjson

1.2.72

Java代码示例

public class RedisTest {

Jedis jedis = null;

// 在调用测试方法之前;我们使用@Before来做统一的Jedis初始化

@Before

public void init(){

jedis = new Jedis("118.190.102.176",6379);

jedis.auth("huzd"); //认证

}

//测试String类型

@Test

public void testString(){

System.out.println("flushdb:"+jedis.flushDB());

System.out.println("是否存在key:hello:"+jedis.exists("hello"));

System.out.println("删除key:hello:"+jedis.del("hello"));

System.out.println("-----------添加STRING属性------------");

jedis.set("name","huzd");

jedis.set("age","34");

jedis.set("sex","male");

jedis.set("phone","15355558714");

System.out.println("-----------mget打印值------------");

List mget = jedis.mget("name", "age", "sex", "phone");

mget.stream().forEach(System.out::println);

System.out.println("----------获取所有的key-------------");

jedis.keys("*").stream().forEach(System.out::println);

System.out.println("-----------------------");

System.out.println("查看key:name的类型:"+jedis.type("name"));

System.out.println("随机返回一个key:"+jedis.randomKey());

System.out.println("先获取在设置age的值:"+jedis.getSet("age", "33"));

System.out.println("rename key:"+jedis.rename("name", "username"));

jedis.close();

}

//测试list类型

@Test

public void testList(){

System.out.println("flushdb:"+jedis.flushDB());

jedis.lpush("citys","合肥","黄山","六安","蚌埠","宣城","马鞍山","芜湖");

System.out.println("打印:citys对应的值:");

jedis.lrange("citys",0,-1).stream().forEach(System.out::println);

System.out.println("key:citys值长度:"+jedis.llen("citys"));

jedis.close();

}

//测试事务

@Test

public void testTx() throws InterruptedException {

JSONObject jsonObject = new JSONObject();

jsonObject.put("hello","world");

jsonObject.put("my","redis");

jedis.watch("age");

Transaction multi = jedis.multi();

// multi.watch("age");

multi.set("age","23");

multi.set("phone","15305518714");

multi.get("phone");

multi.set("sm",jsonObject.toJSONString());

multi.get("sm");

Thread.sleep(30000);

List exec = multi.exec();

System.out.println(exec);

if(null!=exec)exec.stream().forEach(System.out::println);

}

//测试事务的watch 启动testTx是在等待的时候;再次执行testTxWatch方法 查看事务提交情况。

@Test

public void testTxWatch() throws InterruptedException {

jedis.set("age","26");

}

@After

public void close(){

jedis.close();

}

}

本文由 huzd 创作,采用 知识共享署名4.0 国际许可协议进行许可本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名最后编辑时间

为:

2021/02/09 10:45

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值