Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等典型应用场景,此DEMO提供了使用其他组件配和Redis使用的一些代码示例。
项目介绍
Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等典型应用场景。Redis使用ANSI C语言编写,提供字符串(String)、哈希(Hash)、列表(List)、集合结构(Set、 Sorted_Set )、流(Stream)等数据类型的直接存取。数据读写基于内存,同时可持久化到磁盘。
很多大型电商网站、视频直播和游戏应用等,存在大规模数据访问,对数据查询效率要求高,且数据结构简单,不涉及太多关联查询。这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。Redis对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。
另外Redis在实际应用场景中,Redis会与其他组件配合使用,此项目主要用于展示华为云分布式缓存Redis在不同场景下配合其他组件使用的示例。
开发环境
| 工具 | 版本 |
| JDK | 1.8 |
| IDEA | 2021.3.1 |
| Maven | 3.6.3 |
场景说明
场景一:Flink连接华为云分布式缓存Redis
Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。
Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。
Flink虽然提供了诸多连接器,方便Flink连接其他组件,但是它也并不是支持连接所有的组件,因此,我们通过借助第三方jar包实现Flink对Redis进行连接、读取、写入操作。
时序图
写入Redis时序图

读取Redis时序图

参数指南
DataStreamSink.java参数详情
- env.fromElements(OUT... data):设置数据源,可以是任何对象,对应Redis中的key。
- Tuple2.of(v, value):传入value值,对应Redis中的value。
- new FlinkJedisPoolConfig.Builder().
- setHost("192.168.0.28").//设置Redis的IP
- setPort(端口).//设置Redis的IP端口,不设置此项,则默认是6379端口
- setPassword("密码")//设置Redis连接密码,不设置此项,则默认为无密码连接。
DataSteamSource.java参数详情
- key:设置需要获取的key值
- new JedisPool(new JedisPoolConfig(), "HOST", PORT,超时定义,"密码")
调用结果
写入Redis结果展示

读取Redis结果展示

问题反馈通道
Introduction
Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等典型应用场景,此DEMO提供了使用其他组件配和Redis使用的一些代码示例。
Customize my domain