当前位置: 首页 > news >正文

Redis 的整合 Jedis 使用

大家好 , 我是苏麟 , 今天带来 Jedis 的使用 . 

Jedis的官网地址: GitHub - redis/jedis: Redis Java client

引入依赖

<!--jedis-->
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.7.0</version>
</dependency>

实战

    private Jedis jedis;@Testvoid  test(){// 1.建立连接jedis = new Jedis("127.0.0.1", 6379);// 2.设置密码 (没有密码不用配置)//jedis.auth("root");// 3.选择库jedis.select(5);// 存入数据String result = jedis.set("name", "虎哥");System.out.println("result = " + result);// 获取数据String name = jedis.get("name");System.out.println("name = " + name);//释放资源if (jedis != null) {jedis.close();}}

 Jedis连接池

Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此我们推荐大家使用Jedis连接池代替Jedis的直连方式

有关池化思想,并不仅仅是这里会使用,很多地方都有,比如说我们的数据库连接池,比如我们tomcat中的线程池,这些都是池化思想的体现。

 创建连接池对象

public class JedisConnectionFacotry {private static final JedisPool jedisPool;static {//配置连接池JedisPoolConfig poolConfig = new JedisPoolConfig();poolConfig.setMaxTotal(8);poolConfig.setMaxIdle(8);poolConfig.setMinIdle(0);poolConfig.setMaxWaitMillis(1000);//创建连接池对象jedisPool = new JedisPool(poolConfig,"127.0.0.1",6379,1000,"");}public static Jedis getJedis(){return jedisPool.getResource();}
}

代码说明:

  • 1) JedisConnectionFacotry:工厂设计模式是实际开发中非常常用的一种设计模式,我们可以使用工厂,去降低代的耦合,比如Spring中的Bean的创建,就用到了工厂设计模式

  • 2)静态代码块:随着类的加载而加载,确保只能执行一次,我们在加载当前工厂类的时候,就可以执行static的操作完成对 连接池的初始化

  • 3)最后提供返回连接池中连接的方法.

改造原始代码

代码说明:

1.在我们完成了使用工厂设计模式来完成代码的编写之后,我们在获得连接时,就可以通过工厂来获得。

,而不用直接去new对象,降低耦合,并且使用的还是连接池对象。

2.当我们使用了连接池后,当我们关闭连接其实并不是关闭,而是将Jedis还回连接池的。

    private Jedis jedis;@Testvoid  test(){// 1.建立连接  jedis = JedisConnectionFactory.getJedis();// 2.设置密码// 3.选择库jedis.select(5);// 存入数据String result = jedis.set("name", "虎哥");System.out.println("result = " + result);// 获取数据String name = jedis.get("name");System.out.println("name = " + name);if (jedis != null) {jedis.close();}}

如果想要了解更详细的知识去官网自行查看!!!

这期就到这里下期再见 !

http://www.lryc.cn/news/145007.html

相关文章:

  • Mainline Linux 和 U-Boot编译
  • Mycat教程+面试+linux搭建
  • 基于工作过程的高职计算机网络技术专业课程体系构建策略
  • (笔记四)利用opencv识别标记视频中的目标
  • 一、计算机硬件选购
  • Dockerfile制作LAMP环境镜像
  • 暴力递归转动态规划(二)
  • debian apt error: Package ‘xxx‘ has no installation candidate
  • c#设计模式-结构型模式 之 外观模式
  • Focal Loss-解决样本标签分布不平衡问题
  • 运算符(个人学习笔记黑马学习)
  • 开源与专有软件:比较与对比
  • openResty+lua+redis实现接口访问频率限制
  • 自动化测试(三):接口自动化pytest测试框架
  • Python --datetime模块
  • 顺序表链表OJ题(3)——【数据结构】
  • 【Azure】Virtual Hub vWAN
  • React Navigation 使用导航
  • 双指针算法,基础算法实践,基本的算法的思想,双指针算法的实现
  • idea http request无法识别环境变量
  • 性能测试常见的测试指标
  • 并发 04(Callable,CountDownLatch)详细讲解
  • Json路径表达式
  • 【uniapp 上传图片示例】
  • apache2配置文件 Require all granted是什么意思
  • c/c++ 的一些知识
  • Rancher上的应用服务报错:413 Request Entity Too Large
  • 【LeetCode题目详解】第八章 贪心算法 part01 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和 day31补
  • ssm+vue中国咖啡文化宣传网站源码和论文
  • 基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 4 Data store标签页介绍