redis学习05-java使用redis【jedis】

1、什么是jedis?

简单来说,jedis是官方推荐的java客户端开发包。
大白话的话参看https://blog.csdn.net/Jamie_Jiang/article/details/112909913

2、如何简单实用jedis

2.1、项目搭建

我是用的springboot项目,简单的创建。

新建项目springboot项目,应该都会。
在这里插入图片描述
添加依赖,看右侧selected dependencies,我选了这些。
在这里插入图片描述
然后next、finish,之后添加jedis的依赖,jedis依赖可以去maven仓库搜索jedis,挑一个你喜欢的版本。
在这里插入图片描述
之后打开test文件夹下的测试类,进行测试使用,pingpong。
在这里插入图片描述
恭喜!

2.2、jedis的API

jedis的API和redis一致,只要会了redis的命令,那么jedis就依次jedis.编译器idea就会提示我们啦~
具体的简单使用,可以看官方教程。我就不复述了。
https://www.redis.net.cn/tutorial/3525.html
完整的API文档如下
https://tool.oschina.net/apidocs/apidoc?api=jedis-2.1.0

3、jedis的问题

如果你追一下new Jedis(ip,port)这个构造的源码,那么就会发现,Jedis本质是一个Connection,所以new一个jedis就是建立连接,你之后使用jedis.ping()就是要做的事情了。

我们继续追踪ping方法,发现了有一步判断,是否已经建立了连接,如果没有那么就创建一个新的socket。
注意,就是这一步,如果多个线程同时操作的时候,是很容易蒙混过关的,假如一个线程1在判断的时候,已经确定没有连接了,所以当前线程1进入了创建socket的过程中,但是还没开始创建,这个时候又来一个线程2,他也来判断,也是确定没有连接,所以他也会自己创建socket,这样他俩不一定谁就把谁覆盖了,因为socket是Connect的属性,故线程就不安全了。RedisOutputStream和RedisInputStream同理,也都是可能会导致线程不安全的点,然后就会抛出异常,socket没有正常关闭。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值