flink连接redis工具类-简单好用
本文包含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工具类-简单好用相关推荐
- Scala 连接Redis工具类
Scala使用工厂模式返回操作Redis集群的工具类 package come.gome.data.utilsimport redis.clients.jedis.{HostAndPort, Jedi ...
- python oracle 工具类,python连接Oracle工具类
上代码: # -*- coding:utf-8 -*- import cx_Oracle import pandas as pd class ORACLE(object): def __init__( ...
- Redis存储缓存工具类简单封装
一.公共实体类 (1)User.java package cn.xiyou.entity;import java.io.Serializable;/*** User实体* * @author XIOA ...
- Redis工具类封装RedisUtils(两种)
RedisTemplate工具类1 本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需 ...
- Redis工具类的封装
Redis工具类的封装 <dependency><groupId>redis.clients</groupId><artifactId>jedis< ...
- 基于jedis的Redis工具类
本文来记录下基于 jedis 的 Redis 工具类 文章目录 核心代码 核心代码 以下为核心代码 /*** 基于jedis的redis操作工具类* @author www* @time 2021/8 ...
- Redis工具类封装RedisUtils
本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需要pom中加入对应依赖 <de ...
- SpringBoot Redis工具类封装
SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable).看了很多博客后, ...
- Springboot集成Redis和Redis工具类
目录 1.导入依赖 2.修改配置文件 3.测试 4.使用redis存入对象 5.redis自定义封装 RedisUtils工具类 1.导入依赖 <dependency><groupI ...
最新文章
- codis3.2升级redis3.11到redis6.0.10调研
- mysql 审核引擎 goInception 的基本使用
- RS-232 Receiver
- c#自定义Json类
- oracle导出数据库中表出现导出报错(EXP-00003)未找到段 (0,0) 的存储定义
- html 页面重复度高,哪些情况容易造成重复页面
- Android横竖屏切换View设置不同尺寸或等比例缩放的自定义View的onMeasure解决方案(2)...
- PP视频如何播放本地视频文件
- SQLServer的三种Recovery Model
- 最小生成树(削减某条边后该边能否构成最小生成树的成分)
- OpenCV-Laplacian边缘检测
- html 星空效果,html5 canvas炫酷旋转银河系星空背景特效
- 目标检测(二十一)--FCN
- 坚持分享的魅力,我超越了当年的榜样
- CRT软件光标不闪烁
- 支付宝开发问题-“您当前注册的企业账号风险等级过高,根据国家相关法律法则及《支付宝服务协议》规定,我司无法为您提供支付服务”
- rpx 和 rem 详解
- 对不同数据源特征提取的(详见上一篇博客问题)的进一步思考
- mysql:数据库调优策略,sql调优
- 下载的mysql压缩包怎么启动_Mysql 使用下载的zip文件进行安装启动