quarkus集成redis
quarkus集成redis
1.环境说明
1 | Java:17.0.8 |
2.引入依赖
1 | <dependency> |
3.开始使用
3.1.配置文件
1 | # redis配置 |
3.2.创建类1
1 | package org.acme.redis; |
3.3.字符类型
1 | //同步方式 |
3.3.Hash类型
1 | //同步方式 |
3.4.Set类型
1 | //同步方式 |
一个扩展,多个 API
此扩展提供多种与 Redis 交互的方式:
低级别的 Vert.x 客户端:这是一个完全响应式、非阻塞和异步的客户端。有关详细信息,请参阅 Vert.x Redis 客户端文档。公开了两个 API:io.vertx.redis.client.Redis 和 io.vertx.redis.client.RedisAPI。通常情况下,您将使用后者,除非需要自己管理连接。
Vert.x API 的低级别 Mutiny 变体:与前者不同,它公开了 Mutiny API,并提供了反应式和命令式方法(带有 andAwait() 后缀)。公开了两个 API:io.vertx.mutiny.redis.client.Redis 和 io.vertx.mutiny.redis.client.RedisAPI。通常情况下,您将使用后者,除非需要自己管理连接。
高级别的响应式数据源:一种类型安全、高级别的与 Redis 交互的 API。此 API 完全是响应式和异步的。它公开了 Mutiny API。它公开了 io.quarkus.redis.datasource.ReactiveRedisDataSource 接口。
高级别的命令式数据源:一种类型安全、高级别的与 Redis 交互的 API。它是响应式数据源的命令式变体。它公开了 io.quarkus.redis.datasource.RedisDataSource 接口。
为了帮助您选择适合您的 API,以下是一些建议:
如果您正在构建与 Redis 集成的命令式(经典)Quarkus 应用程序:请使用 io.quarkus.redis.datasource.RedisDataSource。
如果您正在构建与 Redis 集成的响应式 Quarkus 应用程序:请使用 io.quarkus.redis.datasource.ReactiveRedisDataSource。
如果您需要细粒度控制,或以通用方式执行命令:请使用 io.vertx.mutiny.redis.client.RedisAPI。
如果您已有 Vert.x 代码,请使用 io.vertx.redis.client.RedisAPI。
如果您需要发出自定义命令,您可以使用数据源(响应式或命令式)或者 io.vertx.mutiny.redis.client.Redis。
“响应式”和”命令式”是编程中两种不同的范式或风格,它们描述了处理计算和控制流的方式。在上下文中,这两个术语通常与编写并发和异步代码相关。
响应式(Reactive):
特点: 响应式编程强调数据流和变化的异步处理。它关注于通过异步事件流进行处理,允许在事件发生时触发相应的操作。
使用场景: 适用于需要处理大量异步事件、数据流或实时数据更新的场景。常见的响应式编程库包括 RxJava、Reactor、和 Akka。
命令式(Imperative):
特点: 命令式编程强调在代码中直接给出明确的步骤和指令,通常是同步执行。程序员编写明确的指令,描述计算机执行任务的确切步骤。
使用场景: 适用于较为简单的、线性的任务,其中执行顺序对于问题的解决至关重要。传统的编程语言(如Java、C++)通常采用命令式编程。
在上述文本中提到的 “ReactiveRedisDataSource” 表示一种使用响应式编程范式与 Redis 交互的数据源。相比之下, “RedisDataSource” 表示一种使用命令式编程范式与 Redis 交互的数据源。
总体而言,响应式编程通常更适合处理异步、并发、和事件驱动的场景,而命令式编程更适合线性、顺序执行的场景。在实际应用中,选择使用哪种范式通常取决于问题的性质和开发者的偏好。
后面还有关于redis多节点使用
4.相关文档
https://quarkus.io/guides/redis
https://quarkus.io/guides/redis-reference
- 本文标题:quarkus集成redis
- 本文作者:HeRui
- 本文链接:https://hr2812.cn/2023/12/07/quarkus-redis-01/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!