【问题标题】:Redisson Cusing connectionpoolRedisson Cusing 连接池
【发布时间】: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


    【解决方案1】:

    以及如何将 Redisson 连接池与单节点一起使用

    您不需要自己维护连接池。只需为单个节点定义配置,例如 explained here

    还有什么是 RedisCommand 以及如何创建和使用它?

    您不需要使用像 RedisClient 这样的低级对象。只需为 Redis 命令找到合适的 API here

    【讨论】:

      猜你喜欢
      • 2018-07-01
      • 2013-08-20
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      相关资源
      最近更新 更多