Redis学习9:Jedis学习

举报
bdi洲 发表于 2022/05/19 22:45:31 2022/05/19
【摘要】 Jedis学习 编程语言中的数据如任何和redis联动,如果是java语言,那么就可以使用Jedis工具,同时springdata redis也可以使用,lettuce也可以使用。java语言操作数据库...

Jedis学习

  • 编程语言中的数据如任何和redis联动,如果是java语言,那么就可以使用Jedis工具,同时springdata redis也可以使用,lettuce也可以使用。
  • java语言操作数据库的四个步骤:
  • 1、明确哪个数据库 加载驱动
  • 2、创建与数据库之间的连接
  • 3、执行操作
  • 4、关闭连接

使用Java调用Redis

  • 首先需要引入依赖如下:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Jedis常规操作的演示

在这里插入图片描述

使用JAVA实现一个简单的Redis业务

在这里插入图片描述
在这里插入图片描述

  • 先写最简单的多线程调用:
  • 在这里插入图片描述
  • 写业务代码

在这里插入图片描述
在这里插入图片描述

  • 打印了十次业务操作执行后开始进行了报错。
  • 这个时候就可以引入异常处理了。

在这里插入图片描述

  • 现在在线程这里更改一些配置,让他们睡眠一些短时间好看效果。

在这里插入图片描述
在这里插入图片描述

  • 然后就会出现这个结果了。在这里插入图片描述
    在这里插入图片描述

  • 如果要进行多线程开多个线程,那么就可以进行如下优化。
    在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述

  • 休眠的话就会看起来比较好,可以用随机数来产生随机现象。

在这里插入图片描述

  • 通过max的值来控制结束,然后通过异常处理来控制异常处理。

在这里插入图片描述

Jedis连接池

  • 实际工作中,肯定是通过连接池进行获取redis对象的,不是上面手工进行获取的。

在这里插入图片描述

引入:什么是连接池

数据库连接的建立、关闭资源消耗巨大。 传统数据库访问方式:一次数据访问对应一个物理连接,每次操作数据库都要打开关闭该物理连接,系统性能严重受损。 解决方案:数据库连接池。系统初始运行时,主动建立足够足够的连接,组成一个池,每次应用程序请求数据库连接时,无需重新打开连接,而是从池中取出已有的连接,使用完后,不再关闭,而是归还。

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;
连接池是存储、管理数据库连接的容器,应用程序把获取数据库连接的功能委托给连接池,每个连接池都有一个上限,如果连接池达到上限,应用程序线程申请连接时被堵塞,等待其他线程释放连接,每个线程使用完连接后并不马上关闭,至少把它返还给连接池。由于连接的共享,不会频繁的创建、销毁连接,因此就不会增加创建连接的开销,也不会出现socket释放延迟现象。

举个例子:你想买本书看,但是只想看一次,两种选择:去网上买一本或者去书店租书,去书店组只要付租金就可以了,明显省力很多,这就和连接池意义差不多。

  • jedis的核心配置:
  • 最大连接数、活动连接数、host地址、端口号等等。
    在这里插入图片描述
    在这里插入图片描述
  • 所以对于上面所说的程序中,进行更改拿reids的方式就行。
  • 在这里插入图片描述
  • 同时需要注意,连接池只需要建立一次,不用每次使用这个util工具类的时候都建立连接池。所以只需要建立一个静态的设置就可以了。

在这里插入图片描述

  • 但是30,10这样的数据需要设置成配置文件 redis.properties。
  • 这样就不用每次都更改程序代码了。

在这里插入图片描述

  • 写好配置文件后,直接在java中加载配置文件即可!

在这里插入图片描述
在这里插入图片描述

文章来源: blog.csdn.net,作者:洲的学习笔记,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_51484460/article/details/120638683

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。