本文包含redis非集群 和 集群两种方式

有些大佬写的实在太牛,恕我能力不足看不太懂,所以自己尝试了一下

非集群方式

非集群方式

工具类如下:

object RedisUtil {private val jedisPoolConfig: JedisPoolConfig = new JedisPoolConfig()jedisPoolConfig.setMaxTotal(200) //最大连接数jedisPoolConfig.setMaxIdle(20) //连接池中最大空闲的连接数jedisPoolConfig.setMinIdle(20) //最小空闲jedisPoolConfig.setBlockWhenExhausted(true) //忙碌时是否等待jedisPoolConfig.setMaxWaitMillis(2000) //忙碌时等待时长 毫秒jedisPoolConfig.setTestOnBorrow(false) //每次获得连接的进行测试private val jedisPool: JedisPool = new JedisPool(jedisPoolConfig, "xxx.xxx.xxx.xxx", xxx)// 直接得到一个 Redis 的连接def getJedisClient: Jedis = {jedisPool.getResource}//测试通过def main(args: Array[String]): Unit = {//      println(getJedisClient.hget("flink_redis", "1"))getJedisClient.hset("flink_redis","20","苏州")println(getJedisClient.exists("flink_redis"))println(getJedisClient.exists("flink_redis_false"))getJedisClient.hkeys("flink_redis")}
}

测试如下

 def main(args: Array[String]): Unit = {getJedisClient.hset("key","field","value")println(getJedisClient.exists("key"))getJedisClient.hkeys("key")}

直接使用getJedisClient 就可以获取所有redis的方法

由于我是集群,使用的时候,直接改 会报错

redis.clients.jedis.exceptions.JedisMovedDataException: MOVED 1539 xxx.xxx.xxx.xxx:xxx

所以要修改一些

集群方式

工具类

object RedisUtil {private val jedisPoolConfig: JedisPoolConfig = new JedisPoolConfig()jedisPoolConfig.setMaxTotal(200) //最大连接数jedisPoolConfig.setMaxIdle(20) //连接池中最大空闲的连接数jedisPoolConfig.setMinIdle(20) //最小空闲jedisPoolConfig.setBlockWhenExhausted(true) //忙碌时是否等待jedisPoolConfig.setMaxWaitMillis(2000) //忙碌时等待时长 毫秒jedisPoolConfig.setTestOnBorrow(false) //每次获得连接的进行测试val nodes: util.Set[HostAndPort] = new util.LinkedHashSet[HostAndPort]//这样写方便后面读取配置文件使用val nodesList:String = "172.8.10.105:7000,172.8.10.105:7001,172.8.10.106:7002,172.8.10.106:7003,172.8.10.107:7004,172.8.10.107:7005"nodesList.split(",").foreach(s=>{val sp: Array[String] = s.split(":")nodes.add(new HostAndPort(sp.apply(0),sp.apply(1).toInt))})private val cluster: JedisCluster = new JedisCluster(nodes, jedisPoolConfig)//hashGet方法,以下 以此重写其他方法def hashGet(key:String, field:String):String ={cluster.hget(key,field)}}

其他的方法可以手动重写

测试如下

 println(RedisUtil.hashGet("key","field"))

最后补充一下需要的依赖

    <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency><dependency><groupId>org.apache.bahir</groupId><artifactId>flink-connector-redis_2.11</artifactId><version>1.0</version><exclusions><exclusion><groupId>org.apache.flink</groupId><artifactId>flink-streaming-java_2.11</artifactId></exclusion></exclusions></dependency>

flink连接redis工具类-简单好用相关推荐

  1. Scala 连接Redis工具类

    Scala使用工厂模式返回操作Redis集群的工具类 package come.gome.data.utilsimport redis.clients.jedis.{HostAndPort, Jedi ...

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

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

  3. Redis存储缓存工具类简单封装

    一.公共实体类 (1)User.java package cn.xiyou.entity;import java.io.Serializable;/*** User实体* * @author XIOA ...

  4. Redis工具类封装RedisUtils(两种)

    RedisTemplate工具类1 本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需 ...

  5. Redis工具类的封装

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

  6. 基于jedis的Redis工具类

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

  7. Redis工具类封装RedisUtils

    本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需要pom中加入对应依赖 <de ...

  8. SpringBoot Redis工具类封装

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

  9. Springboot集成Redis和Redis工具类

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

最新文章

  1. codis3.2升级redis3.11到redis6.0.10调研
  2. mysql 审核引擎 goInception 的基本使用
  3. RS-232 Receiver
  4. c#自定义Json类
  5. oracle导出数据库中表出现导出报错(EXP-00003)未找到段 (0,0) 的存储定义
  6. html 页面重复度高,哪些情况容易造成重复页面
  7. Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2)...
  8. PP视频如何播放本地视频文件
  9. SQLServer的三种Recovery Model
  10. 最小生成树(削减某条边后该边能否构成最小生成树的成分)
  11. OpenCV-Laplacian边缘检测
  12. html 星空效果,html5 canvas炫酷旋转银河系星空背景特效
  13. 目标检测(二十一)--FCN
  14. 坚持分享的魅力,我超越了当年的榜样
  15. CRT软件光标不闪烁
  16. 支付宝开发问题-“您当前注册的企业账号风险等级过高,根据国家相关法律法则及《支付宝服务协议》规定,我司无法为您提供支付服务”
  17. rpx 和 rem 详解
  18. 对不同数据源特征提取的(详见上一篇博客问题)的进一步思考
  19. mysql:数据库调优策略,sql调优
  20. 下载的mysql压缩包怎么启动_Mysql 使用下载的zip文件进行安装启动

热门文章

  1. PLM系统集成Autovue插件
  2. 三种万用遥控器的比较分析
  3. html使屏幕保持常亮,让win7系统桌面常亮不灭的两种方法
  4. repo: no branches ready for upload
  5. 首页html代码的head和/head之间的内容
  6. js 根据 目录结构,生成tree结构
  7. 基于逻辑回归的天猫优惠券使用情况预测
  8. Vxe-table表格自定义筛选
  9. Cloud Computing:云计算的简介、必要性以及安全上云与企业数字化转型(从陈坤/辛芷蕾主演电视剧《输赢》看云计算的未来)的关系
  10. 四种常见的参数传递方式