huaweicloud-redis-sdk-samples:华为云分布式缓存Redis与组件配合使用场景示例

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

分支3Tags0
文件最后提交记录最后更新时间
3 年前
3 年前
3 年前
3 年前
3 年前

项目介绍

Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等典型应用场景。Redis使用ANSI C语言编写,提供字符串(String)、哈希(Hash)、列表(List)、集合结构(Set、 Sorted_Set )、流(Stream)等数据类型的直接存取。数据读写基于内存,同时可持久化到磁盘。

很多大型电商网站、视频直播和游戏应用等,存在大规模数据访问,对数据查询效率要求高,且数据结构简单,不涉及太多关联查询。这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。Redis对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。

另外Redis在实际应用场景中,Redis会与其他组件配合使用,此项目主要用于展示华为云分布式缓存Redis在不同场景下配合其他组件使用的示例。

开发环境

工具版本
JDK1.8
IDEA2021.3.1
Maven3.6.3

场景说明

场景一:Flink连接华为云分布式缓存Redis

Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。

Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。

Flink虽然提供了诸多连接器,方便Flink连接其他组件,但是它也并不是支持连接所有的组件,因此,我们通过借助第三方jar包实现Flink对Redis进行连接、读取、写入操作。

时序图

写入Redis时序图

1

读取Redis时序图

2

参数指南

DataStreamSink.java参数详情

  1. env.fromElements(OUT... data):设置数据源,可以是任何对象,对应Redis中的key。
  2. Tuple2.of(v, value):传入value值,对应Redis中的value。
  3. new FlinkJedisPoolConfig.Builder().
    1. setHost("192.168.0.28").//设置Redis的IP
    2. setPort(端口).//设置Redis的IP端口,不设置此项,则默认是6379端口
    3. setPassword("密码")//设置Redis连接密码,不设置此项,则默认为无密码连接。

DataSteamSource.java参数详情

  1. key:设置需要获取的key值
  2. new JedisPool(new JedisPoolConfig(), "HOST", PORT,超时定义,"密码")

调用结果

写入Redis结果展示

img.png

读取Redis结果展示

img.png

问题反馈通道

https://support.developer.huaweicloud.com/feedback/

项目介绍

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

定制我的领域