Jedis是Redis数据库的java工具类,类似于JDBC中的Connection,也是对数据库进行CRUD的通道(这样说是不是有点不严谨~~~)

附上几个Redis的通用命令:

key* 查看所有的key值

type   key 获得key的数据类型

del key [key.....]
可以删除一个或多个键,返回值是删除的键的个数
exists key 判断key是否存在

Jedis一般工具类的编写,如图:(此处以本机为数据库)

代码如下:

 1 package com.didinx.filter;
 2
 3 import redis.clients.jedis.Jedis;
 4
 5 /**
 6  * @author o_0sky
 7  * @date 2019/2/14 1:07
 8  */
 9 public class Jedis1 {
10     public static void main(String[] args) {
11         //创建redis核心对象
12         Jedis jedis = new Jedis("localhost", 6379);
13         //存值
14         jedis.set("key", "value");
15         //取值并打印
16         System.out.println(jedis.get("key"));
17         //释放资源
18         jedis.close();
19     }
20 }

jedis如同connection一样,连接资源的创建和销毁都会很消耗性能,所以jedis提供了池化技术,下图是常用的池化技术的参数列表:

联系上图:

池化技术代码如下:

 1 package com.didinx.filter;
 2
 3 import redis.clients.jedis.Jedis;
 4 import redis.clients.jedis.JedisPool;
 5 import redis.clients.jedis.JedisPoolConfig;
 6
 7 /**
 8  * @author o_0sky
 9  * @date 2019/2/14 1:33
10  */
11 public class JedisPool1 {
12     public static void main(String[] args) {
13         //生成连接池配置对象,设置配置项
14         JedisPoolConfig config = new JedisPoolConfig();
15         //最大连接数
16         config.setMaxTotal(100);
17         //最大空闲数
18         config.setMaxIdle(20);
19         //获得连接池
20         JedisPool jedisPool = new JedisPool(config, "localhost", 6379);
21         Jedis jedis = null;
22         try {
23             //从连接池获取连接
24             jedis = jedisPool.getResource();
25             //给连接赋值
26             jedis.set("age", "30");
27             //从连接池中取值并打印
28             System.out.println(jedis.get("age"));
29         } catch (Exception e) {
30             e.printStackTrace();
31         } finally {
32             //此处jedis.close()并不是销毁连接,而是将连接返回连接池
33             if (null != jedis) {
34                 jedis.close();
35             }
36         }
37         //电脑关闭时,关闭连接池
38         if (null != jedisPool) {
39             jedisPool.close();
40         }
41
42     }
43 }

如同JDBC,Jedis也有工具类,配置文件为properties格式,代码如下:

 1 package didinx;
 2
 3 import redis.clients.jedis.Jedis;
 4 import redis.clients.jedis.JedisPool;
 5 import redis.clients.jedis.JedisPoolConfig;
 6
 7 import java.util.ResourceBundle;
 8
 9 /**
10  * @author o_0sky
11  * @date 2019/2/14 1:49
12  */
13 public class JedisUtil {
14     //设置参数
15     private static String host;
16     private static int port;
17     private static int maxtotal;
18     private static int maxwaitmillis;
19     private static JedisPool jedisPool;
20
21     //加载配置文件并给参数赋值
22     static {
23         ResourceBundle rb = ResourceBundle.getBundle("jedis");
24         maxtotal = Integer.parseInt(rb.getString("maxtotal"));
25         maxwaitmillis = Integer.parseInt(rb.getString("maxwaitmillis"));
26         port = Integer.parseInt(rb.getString("port"));
27         host = rb.getString("host");
28     }
29
30     /**
31      * 初始化连接池
32      */
33     static {
34         JedisPoolConfig config = new JedisPoolConfig();
35         config.setMaxTotal(maxtotal);
36         config.setMaxWaitMillis(maxwaitmillis);
37         jedisPool = new JedisPool(config, host, port);
38     }
39
40     /**
41      * 获取连接方法
42      *
43      * @return
44      */
45     public static Jedis getJedis() {
46         return jedisPool.getResource();
47     }
48
49     /**
50      * 释放资源
51      *
52      * @param jedis
53      */
54     public static void closeJedis(Jedis jedis) {
55         if (null != jedis) {
56             jedis.close();
57         }
58     }
59 }

转载于:https://www.cnblogs.com/linsky/p/10367848.html

Jedis工具类使用及设置相关推荐

  1. Jedis工具类(含分布式锁的调用和释放)

    个人把工具类分为两部分: 一.连接池部分 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.j ...

  2. Java Redis 连接池 Jedis 工具类,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  3. 动态代理模式_应用(Redis工具类)

    本次使用动态代理的初衷是学习Redis,使用Java操作Redis时用到Jedis的JedisPool,而后对Jedis的方法进一步封装完善成为一个工具类. 因为直接使用Jedis对象时,为了保证性能 ...

  4. java log 封装_工具类之LogUtils

    安卓开发离不开记录log日志,封装了一份简单的日志工具类,具有设置日志总开关,是否写入文件,日志过滤器和自定义标签,锁定打印log的类.函数名及行号,初始化有可以使用init函数也可以使用建造者模式, ...

  5. 关于jedis2.4以上版本的连接池配置,及工具类

    jedis.propertise 注意以前版本的maxAcitve和maxWait有所改变,JVM根据系统环境变量ServerType中的值 取不同的配置,实现多环境(测试环境.生产环境)集成. re ...

  6. 一次代码重构之旅-快速读写xml文件工具类封装

    为了满足系统的灵活性,有些功能经常需要用到配置文件,一般是xml格式的居多.如何能快速读写配置文件呢? 以前都是用dom4j提供的api来读写xml文件,用dom4j读写配置文件总感觉像是在结构化的处 ...

  7. 史上最全的常用开发工具类收集Android

    API 银行卡管理 → BankCheck checkBankCard : 校验银行卡卡号是否合法 getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验 ...

  8. 史上最全的开发工具类

    银行卡管理 → BankCheck checkBankCard : 校验银行卡卡号是否合法 getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位 ge ...

  9. 基于jedis的Redis工具类

    本文来记录下基于 jedis 的 Redis 工具类 文章目录 核心代码 核心代码 以下为核心代码 /*** 基于jedis的redis操作工具类* @author www* @time 2021/8 ...

最新文章

  1. java的datatype_java数据类型
  2. 2018目标检测最新算法+经典目标检测算法
  3. 对标以太坊的EOS再火,也拼不过InterValue的区块链4.0
  4. 解决PHP Fatal error mysql_connect() mysql_query()的问题
  5. linux刚重启就报资源不可用,linux系统重启网络配置
  6. 2021辽宁大洼高中高考成绩查询,2021大洼高中最后一跑——励志高考,逆袭人生...
  7. 计算机视觉、机器学习相关领域论文和源代码大集合--持续更新……(转载)
  8. 低代码,是否能“取代”开发者?
  9. 模拟集成电路大牛的经验
  10. 2022最新小额借贷系统程序源码+附教程文档
  11. svn忽略指定文件或目录
  12. 2018全球50大最佳发明名单
  13. linux系统的ftp命令大全,Linux-FTP命令大全(完整版)
  14. 【色彩管理】CMYK色彩模式详解
  15. python导入数据画折线图_Python学习第93课-导入csv数据并绘制折线图
  16. USB Host、USB Device和USB otg的理论简析
  17. 2021年中国外卖行业发展现状、市场竞争格局及未来发展趋势分析:美团外卖市场份额持续提升[图]
  18. C++实现复杂链表的复制
  19. html,canvas——星星闪烁
  20. 软件性能测试方案怎么编写?权威的性能测试报告如何申请?

热门文章

  1. 运放电路分析_必看!运放电路PCB设计技巧
  2. python gui界面实例_Python界面(GUI)编程PyQt5工具栏和菜单
  3. HarmonyOS应用如何开发,使用什么开发工具及安装使用教程说明!
  4. npm报错 npm WARN deprecated....的问题解决方式
  5. python浪漫文艺_Python程序员的文艺之路
  6. Linux笔记-利用chkconfig创建脚本使得Rabbimq开机自启
  7. 反汇编基础-乘法与除法
  8. C/C++,Qt,Python,OpenCV小项目实战-实时桌面颜色查询
  9. Qt工作笔记-视图/模型以及过滤代理模型的使用
  10. mysql5.7.24 rpm安装_centos7下安装mysql5.7.24