Flink <-->Redis的使用介绍+with参数

介绍

Redis Connector 提供了对 Redis 写入支持。

使用范围

可以作为 Tuple、Upsert 数据流的目的表。

示例

set 命令(字符串键)

-- 第1列为 key,第2列为 value。Redis 命令为 set key value

CREATE TABLE `DataOutput` ( 

`key` STRING,

`value` STRING

WITH (

 'connector' 'redis',     -- 输出到 Redis

 'command' 'set',         -- set 命令

 'nodes' '<host>:<port>'-- redis 连接地址

 'password' '<password>',

 'database' '<database>' 

);

lpush 命令(列表键)

-- 第1列为 key,第2列为 value。Redis 命令为 lpush key value

CREATE TABLE `DataOutput` ( 

`key` STRING,

`value` STRING

WITH (

 'connector' 'redis',     -- 输出到 Redis

 'command' 'lpush',       -- lpush 命令

 'nodes' '<host>:<port>'-- redis 连接地址

 'password' '<password>',

 'database' '<database>' 

);

sadd 命令(集合键)

-- 第1列为 key,第2列为 value。Redis 命令为 sadd key value

CREATE TABLE `DataOutput` ( 

`key`   STRING,

`value` STRING

WITH (

'connector' 'redis',     -- 输出到 Redis

'command' 'sadd',        -- sadd 命令

'nodes' '<host>:<port>'-- redis 连接地址

'password' '<password>',

'database' '<database>' 

);

hset 命令(哈希键)

-- 第1列为 hash_key,第2列为 hash_value。Redis 命令为 hset key hash_key hash_value。

CREATE TABLE `DataOutput` ( 

`hash_key`   STRING,

`hash_value` STRING

WITH (

'connector' 'redis',     -- 输出到 Redis

'command' 'hset',        -- hset 命令

'nodes' '<host>:<port>'-- redis 连接地址

'password' '<password>',

'database' '<database>',

'additional-key' '<key>' -- 哈希键

);

zadd 命令(有序集合键)

-- 第1列为 hash_key,第2列为 hash_value。zadd key score value。

CREATE TABLE `DataOutput` ( 

`value` STRING,

`score` DOUBLE

WITH (

'connector' 'redis',     -- 输出到 Redis

'command' 'zadd',        -- zadd 命令

'nodes' '<host>:<port>'-- redis 连接地址

'password' '<password>',

'database' '<database>',

'additional-key' '<key>' -- 有序集合键

);

通用 WITH 参数

参数值

必填

默认值

描述

connector-固定值为 redis
command-操作命令。取值与对应的键类型如下:
  • set:字符串键
  • lpush:类别键
  • sadd:集合键
  • hset:哈希键
  • zadd:有序集合键
nodes-redis server 连接地址,示例:127.0.0.1:6379。集群架构下多个节点使用','分隔
passwordredis 密码,默认值为空,不进行权限验证
database0要操作的数据库的 DB number,默认值0
redis-modestandaloneredis 部署模式
  • standalone:标准架构,单机
  • cluster:集群架构,分布式
ignore-deletefalse是否忽略 Retraction 消息
additional-ttl-过期时间,单位:秒。示例:60,设置过期是时间为60秒。只有 set 命令支持设置过期时间
additional-key--用于指定 hset 和 zadd 的 key。执行 hset 和 zadd 命令时必须设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
flink-statebackend-redisFlink 提供的一个 StateBackend 插件,用于将 Flink 程序中的状态数据存储到 Redis 中。如果您想在 Flink 程序中使用 RedisStateBackend,需要在项目中引入 flink-statebackend-redis 依赖。 具体来说,在 Maven 项目中,您可以在 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-statebackend-redis</artifactId> <version>${flink.version}</version> </dependency> ``` 在 Gradle 项目中,您可以在 build.gradle 文件中添加以下依赖: ``` dependencies { implementation "org.apache.flink:flink-statebackend-redis:${flinkVersion}" } ``` 这里的 ${flink.version} 或 ${flinkVersion} 是指您使用Flink 版本号。如果您使用的是 Flink 1.12 及以上版本,可以直接使用 flink-statebackend-redis 依赖。如果您使用的是 Flink 1.11 及以下版本,需要先引入 flink-statebackend-rocksdb 依赖: ``` <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-statebackend-rocksdb</artifactId> <version>${flink.version}</version> </dependency> ``` 或者 ``` dependencies { implementation "org.apache.flink:flink-statebackend-rocksdb:${flinkVersion}" } ``` 然后再引入 flink-statebackend-redis 依赖: ``` <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-statebackend-redis</artifactId> <version>${flink.version}</version> </dependency> ``` 或者 ``` dependencies { implementation "org.apache.flink:flink-statebackend-redis:${flinkVersion}" } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值