java客户端Jedis操作Redis Sentinel 连接池的实现方法

发布时间 - 2026-01-11 00:21:34    点击率:

pom.xml配置

<dependency> 
  <groupId>org.springframework.data</groupId> 
  <artifactId>spring-data-redis</artifactId> 
  <version>1.0.2.RELEASE</version> 
</dependency> 
<dependency> 
  <groupId>redis.clients</groupId> 
  <artifactId>jedis</artifactId> 
  <version>2.7.0</version> 
  <type>jar</type> 
  <scope>compile</scope> 
</dependency> 
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99 public class JedisPoolUtil { 
   
  private static JedisSentinelPool pool = null; 
 
  public static Properties getJedisProperties() { 
 
    Properties config = new Properties(); 
    InputStream is = null; 
    try { 
      is = JedisPoolUtil.class.getClassLoader().getResourceAsStream("cacheConfig.properties"); 
      config.load(is); 
    } catch (IOException e) { 
      logger.error("", e); 
    } finally { 
      if (is != null) { 
        try { 
          is.close(); 
        } catch (IOException e) { 
          logger.error("", e); 
        } 
      } 
    } 
    return config; 
  } 
 
  /** 
   * 创建连接池 
   * 
   */
  private static void createJedisPool() { 
    // 建立连接池配置参数 
    JedisPoolConfig config = new JedisPoolConfig(); 
    Properties prop = getJedisProperties(); 
    // 设置最大连接数 
    config.setMaxTotal(StringUtil.nullToInteger(prop.getProperty("MAX_ACTIVE"))); 
    // 设置最大阻塞时间,记住是毫秒数milliseconds 
    config.setMaxWaitMillis(StringUtil.nullToInteger(prop.getProperty("MAX_WAIT"))); 
    // 设置空间连接 
    config.setMaxIdle(StringUtil.nullToInteger(prop.getProperty("MAX_IDLE"))); 
    // jedis实例是否可用 
    boolean borrow = prop.getProperty("TEST_ON_BORROW") == "false" ? false : true; 
    config.setTestOnBorrow(borrow); 
    // 创建连接池 
//   pool = new JedisPool(config, prop.getProperty("ADDR"), StringUtil.nullToInteger(prop.getProperty("PORT")), StringUtil.nullToInteger(prop.getProperty("TIMEOUT")));// 线程数量限制,IP地址,端口,超时时间 
    //获取redis密码 
    String password = StringUtil.nullToString(prop.getProperty("PASSWORD")); 
 
     String masterName = "mymaster"; 
    Set<String> sentinels = new HashSet<String>(); 
    sentinels.add("192.168.137.128:26379"); 
    sentinels.add("192.168.137.128:26380"); 
    sentinels.add("192.168.137.128:26381"); 
    pool = new JedisSentinelPool(masterName, sentinels, config); 
  } 
 
  /** 
   * 在多线程环境同步初始化 
   */
  private static synchronized void poolInit() { 
    if (pool == null) 
      createJedisPool(); 
  } 
 
  /** 
   * 获取一个jedis 对象 
   * 
   * @return 
   */
  public static Jedis getJedis() { 
    if (pool == null) 
      poolInit(); 
    return pool.getResource(); 
  } 
 
  /** 
   * 释放一个连接 
   * 
   * @param jedis 
   */
  public static void returnRes(Jedis jedis) { 
    pool.returnResource(jedis); 
  } 
 
  /** 
   * 销毁一个连接 
   * 
   * @param jedis 
   */
  public static void returnBrokenRes(Jedis jedis) { 
    pool.returnBrokenResource(jedis); 
  } 
   
   
  public static void main(String[] args){ 
    Jedis jedis=getJedis(); 
     
  } 
 
} 

以上这篇java客户端Jedis操作Redis Sentinel 连接池的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# jedis  # sentinel客户端  # Redis连接失败:客户端IP不在白名单中的问题分析与解决方案  # Redis客户端连接远程Redis服务器方式  # Redis远程连接Redis客户端的实现步骤  # redis客户端连接错误 NOAUTH Authentication required  # Redis客户端连接机制的实现方案  # 连接池  # 给大家  # 希望能  # 这篇  # 小编  # 多线程  # 大家多多  # 连接数  # 客户端  # org  # springframework  # data  # dependency  # gt  # groupId  # version  # artifactId  # spring  # redis  # lt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何正确下载安装西数主机建站助手?  如何有效防御Web建站篡改攻击?  如何快速搭建虚拟主机网站?新手必看指南  制作企业网站建设方案,怎样建设一个公司网站?  Android中AutoCompleteTextView自动提示  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  如何制作一个表白网站视频,关于勇敢表白的小标题?  网站制作软件有哪些,制图软件有哪些?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  PHP正则匹配日期和时间(时间戳转换)的实例代码  免费视频制作网站,更新又快又好的免费电影网站?  EditPlus中的正则表达式实战(5)  如何用y主机助手快速搭建网站?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Java类加载基本过程详细介绍  如何为不同团队 ID 动态生成多个非值班状态按钮  浅谈javascript alert和confirm的美化  如何选择PHP开源工具快速搭建网站?  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel怎么上传文件_Laravel图片上传及存储配置  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  如何快速完成中国万网建站详细流程?  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何在建站宝盒中设置产品搜索功能?  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  jQuery validate插件功能与用法详解  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何快速查询域名建站关键信息?  android nfc常用标签读取总结  在线教育网站制作平台,山西立德教育官网?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  长沙做网站要多少钱,长沙国安网络怎么样?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Android GridView 滑动条设置一直显示状态(推荐)  网站制作报价单模板图片,小松挖机官方网站报价?  如何快速启动建站代理加盟业务?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  如何利用DOS批处理实现定时关机操作详解  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel怎么调用外部API_Laravel Http Client客户端使用