【发布时间】:2020-08-11 09:11:21
【问题描述】:
baeldung 列出了 Redisson 作为 Redis 客户端的几个好处。所以我决定使用它。
出于 POC 目的,我使用单节点实例可能稍后会切换到其他实例。检查Redisson connection pool,但它需要主从配置。如何使其适用于单个实例?
我期待池中的 get() 方法返回 RedisClient 但它返回未来。
此方法也将 RedisCommand 作为参数。我期待一旦获得 RedisClient,我就可以对它进行一些地图操作,如 Rmap example 所示。是否有任何我可以遵循的文档显示如何使用 RedisCommand 但首先它是什么(工作代码示例会很棒)?
我的用例很简单 - 我的服务收到的请求需要繁重的处理,因此希望针对每个请求缓存结果。 此外,有时如果响应太大,我们也会对响应进行批处理。 假设 Req1 请求导致 Res1(没有批处理)-> 我想保存在 Redis Map 中,Res1 作为 Req1 的值。现在让我们这么说,但由于 Res1 很大,我们必须对其进行批处理并仅发送第 1 页和第 2 页的链接。在这种情况下,我想保存完整的响应 Res1 和第一页,说 Redis 中只有 100 个 Res1 条目。我使用的命名约定如下:
key value
Req1:allPages Res1
Req:page1 page 1 of Res1
Req:page2 page 2 of Res1
..
如果 Redis 中不存在其他请求,则保存分页响应和完整响应也是如此。
我的命名约定标准或其他模式正在流行吗?以及如何将 Redisson 连接池与单节点一起使用。而后来当我切换到说Master-slave这个迁移怎么办?还有什么是 RedisCommand 以及如何创建和使用它?
我正在使用最新版本的 Redisson:
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.12.5</version>
</dependency>
【问题讨论】:
标签: java dictionary redis redisson