Scala使用工厂模式返回操作Redis集群的工具类

package come.gome.data.utilsimport redis.clients.jedis.{HostAndPort, JedisCluster, JedisPool, JedisPoolConfig}import scala.collection.JavaConverters.setAsJavaSetConverter/*** @author lgy* @note redis工具类*/
object JedisUtils {var jedis:JedisUtils = _val REDIS_MAX_TOTAL = "100"val REDIS_MAX_IDLE = "8"val REDIS_WAIT_MILLIS = "10000"val REDIS_HOST = ""//工厂模式def apply(): JedisUtils = {if (jedis == null){jedis = new JedisUtils()jedis.init()}jedis}}class JedisUtils{var pool: JedisPool = _var config: JedisPoolConfig = _var hosts: java.util.Set[HostAndPort] = _//初始化def init():Unit = {val redis_conf = Map[String, String]()config = new JedisPoolConfig()//可用连接实例的最大数目,如果赋值为-1表示不限制config.setMaxTotal(JedisUtils.REDIS_MAX_TOTAL.toInt)//控制一个Pool最多有多少个状态为idle(空闲的)jedis实例,默认值8config.setMaxIdle(JedisUtils.REDIS_MAX_IDLE.toInt)//等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时,如果超时直接抛出异常config.setMaxWaitMillis(JedisUtils.REDIS_WAIT_MILLIS.toLong)//在borrow一个jedis实例时,是否提前进行validate操作,如果为true则得到的jedis实例均是可用的config.setTestOnBorrow(false)//设置为true,归还连接时,会进行检查,检查不通过,销毁config.setTestOnReturn(false)clusterInit(JedisUtils.REDIS_HOST)}def clusterInit(redis_conf: String):Unit = {hosts = redis_conf.split(",").map(s => HostAndPort.parseString(s)).toSet.asJava}//返回jedis集群连接def getJedisCluster:JedisCluster = {new JedisCluster(hosts,config)}//关闭连接def close(jedis: JedisCluster):Unit = {getJedisCluster.close()}}

Scala 连接Redis工具类相关推荐

  1. flink连接redis工具类-简单好用

    本文包含redis非集群 和 集群两种方式 有些大佬写的实在太牛,恕我能力不足看不太懂,所以自己尝试了一下 非集群方式 非集群方式 工具类如下: object RedisUtil {private v ...

  2. python oracle 工具类,python连接Oracle工具类

    上代码: # -*- coding:utf-8 -*- import cx_Oracle import pandas as pd class ORACLE(object): def __init__( ...

  3. Redis工具类的封装

    Redis工具类的封装 <dependency><groupId>redis.clients</groupId><artifactId>jedis< ...

  4. 基于jedis的Redis工具类

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

  5. SpringBoot Redis工具类封装

    SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable).看了很多博客后, ...

  6. Springboot集成Redis和Redis工具类

    目录 1.导入依赖 2.修改配置文件 3.测试 4.使用redis存入对象 5.redis自定义封装 RedisUtils工具类 1.导入依赖 <dependency><groupI ...

  7. java实现redis工具类及其调用

    网上很多redis工具类需要配套ssm,spring等,这是一套可以直接用的redis取参数的工具类(String类型) 一.jedis-2.1.0.jar下载,放到项目的lib下 网盘地址(4tn5 ...

  8. Java开发中的工具类——基于JedisPool的Redis工具类

    目录 一.Maven依赖 二.Redis配置类 三.使用@Cacheable注解进行数据缓存 四.自定义Redis工具类及使用 4.1 序列化工具类 4.2 redis客户端工具类 4.3 redis ...

  9. 微服务使用redis操作实例包含redis工具类

    1.单机redis使用工具类 application.properties配置内容 #redis配置 #单机模式 #redis数据库索引,默认为0 spring.redis.database=0 #r ...

最新文章

  1. 两地控制的项目要求_项目两地控制灯照明线路的安装.ppt
  2. 前后端、多语言、跨云部署,全链路追踪到底有多难?
  3. Can‘t connect to MySQL server on ‘localhost‘(10061)【SQLyog】
  4. django启动时同时使用Schedule启动其他程序
  5. python 打开exe获取窗口句柄_使用Python快速启动多个PC客户端
  6. 腾讯Q3财报看点:净利近10年来首次下滑 为硬科技持续“烧钱”
  7. 从SourceForge上获取CVS管理的开源代码
  8. std string 编码_【星云测试】Wings企业级单元测试自动编码引擎白皮书
  9. shell字符串的截取的问题
  10. deepin系统引导_Deepin系统安装教程
  11. java excel checkbox,使用Apache POI(Java)在XLSX中创建复选框
  12. Banner实现图片轮播
  13. 城市“智慧发展”的核心是人性化
  14. 【英语竞赛】专项练习之听力
  15. 谷歌开放生成式AI Bard,百度文心一言《唐伯虎点秋香》出圈
  16. Praat脚本-018 | Praat批量调整音量
  17. i5四核八线程怎么样_英特尔处理器是六核六线程好,还是四核八线程好?
  18. 【运行程序频繁自动更新怎么回事?】
  19. js word 预览_【零基础Word教程】第9课如何制作员工胸卡(图解)
  20. 任正非最新谈话:吉田社长

热门文章

  1. ANSYS教程与使用
  2. 上海市智慧养老解决方案,适应新要求的新导智能
  3. 期货市场价格发现功能的含义和特点是什么(如何理解期货市场具有价格发现经济功能)
  4. android开发 自我优势_6年Android开发程序员教你如何写简历!看完别再问为何你只值5K...
  5. react native 集成腾讯语音合成TTS(android)
  6. iOS 文本二维码识别
  7. [Unity]如果AssetStore的下载无效怎么办
  8. D. The Beatles(思维+枚举)
  9. python怎么计算相关系数、偏相关系数?
  10. 长沙磁悬浮线路CBTC车地无线通信系统