flinksql读写redis】的更多相关文章

0.前言 最近有个需求,需要使用flinksql读写redis,由于官网上并没有redis的connector,在网上找了很久,开源的几个connector又没法满足要求,所有这里就自己动手实现了一个.已经适配了各个版本的flink,从flink1.12到flink1.15. 简单介绍一下功能吧: 将redis作为流表时支持BLPOP.BRPOP.LPOP.RPOP.SPOP等命令:使用lua脚本封装的批量弹出提高消费性能 将redis作为维表时支持GET.HGET等命令:支持lookup缓存…
本文将使用一个gitHub开源的组件技术来读写redis数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 github地址:https://github.com/dathlin/HslCommunication                             如果喜欢可以star或是fork,还可以打赏支持. 官网地址:http://www.hslcommunication.cn/         打…
自定义flink的RedisSource,实现从redis中读取数据,这里借鉴了flink-connector-redis_2.11的实现逻辑,实现对redis读取的逻辑封装,flink-connector-redis_2.11的使用和介绍可参考之前的博客,项目中需要引入flink-connector-redis_2.11依赖 Flink读写Redis(一)-写入Redis Flink读写Redis(二)-flink-redis-connector代码学习 抽象redis数据 定义MyRedis…
import redis class Database: def __init__(self): self.host = 'localhost' self.port = 6379 def write(self,website,city,year,month,day,deal_number): try: key = '_'.join([website,city,str(year),str(month),str(day)]) val = deal_number r = redis.StrictRed…
通过C#第三方库向Redis存储数据遇到的几个问题 https://github.com/ServiceStack/ServiceStack.Redis 1.将对象转json字符串 JsonObject jsonObject=new JsonObject(); jsonObject.Add("aa","年后"); jsonObject.Add("); string str=jsonObject.ToJson(); RedisCacheHelper.Add&…
配置 新建spring boot项目增加redis配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 在需要缓存的地方增加redis缓存 package com.example.sharding.service; import c…
ServiceStack.Redis有个方法叫 AddRangeToList,这个方法是有性能问题的.这个方法的实现代码如下: public void AddRangeToList(string listId, List<string> values) { var uListId = listId.ToUtf8Bytes(); var pipeline = CreatePipelineCommand(); foreach (var value in values) { pipeline.Wri…
源码结构 RedisSink package org.apache.flink.streaming.connectors.redis; import org.apache.flink.configuration.Configuration; import org.apache.flink.streaming.api.functions.sink.RichSinkFunction; import org.apache.flink.streaming.connectors.redis.common.…
项目pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <mo…
写入redis resultStream.addSink(new RedisSink(FlinkUtils.getRedisSinkConfig(parameters),new MyRedisMapper())); getRedisSinkConfig public static FlinkJedisSentinelConfig getRedisSinkConfig(ParameterTool parameterTool){ String redisHosts = parameterTool.g…