当前位置: 首页 > 知识库问答 >
问题:

在sping-data-redis中定义集群节点属性的替代方法

楚浩然
2023-03-14

我试图在我的项目中使用spring data redis。当我在yaml文件中配置redis节点时,比如:

spring:
  redis:
    cluster:
      max-redirects: 2
      nodes: host1:6379,host1:6380,host1:6381

然后,spring-data-redis在内部为集群创建JedisConnectionFactory。但是如果我尝试通过以下方式配置:

spring:
  redis:
    cluster:
      max-redirects: 2
      nodes: 
        - host1:6379
        - host1:6380
        - host1:6381

然后,我必须在我的应用程序中为集群创建JedisConnectionFactory的bean。

我猜当前版本的spring-data-redis不支持在yaml中以数组方式表示节点数以创建集群。

我的建议是,spring boot/spring data redis developer能否支持上述yaml格式,以便在内部创建redis集群?

共有1个答案

楚建柏
2023-03-14

如果您选中此处,可以将host AndPort作为这样一个看起来很丑的数组提供,与spring.redis属性组分开;

clusterHostAndPorts:
  - host1:6379
  - host1:6380
  - host1:6381

在我的本地电脑上测试过,它确实有效,你的提问方式不受支持,可以在这里看到,然后在这里看到,最后在这里看到。

HostAndPort需要由“:”分隔。

主机和端口字符串需要指定为host: port

 类似资料:
  • 我使用spring data redis 1.7.0版。M1和绝地2.8.0版这是我的配置 并使用[redisTemplate.opsForValue().get(“foo”)进行测试 抛出异常 使用spring data redis 1.7.0时如何配置redis群集。M1?

  • 问题内容: 是否可以通过在属性文件中定义注释来在Spring中定义注释的值? 实际上,我这样做: 但我想将路径存储在属性文件中。为什么?例如,如果我重命名控制器中的路径,则不太可能在模板中进行操作。 问题答案: 它应该是可以使用占位符,例如像。查看文档以获取更多详细信息: 注释中的模式支持${…​针对本地属性和/或系统属性以及环境变量的占位符。在可能需要通过配置自定义控制器映射到的路径的情况下,这

  • 使用节点。js集群支持,我希望主进程生成添加到Redis队列的数据项。然后,我想运行多个读取Redis队列的工作进程。当然,只有一个工作进程应该使用从队列中检索到的数据项。 为了让我开始学习,您能建议从节点包支持或原始Redis命令的角度来完成这项工作吗?让我强调一下,消费者是节点中独立的进程。js集群环境,我们可以在其中调整竞争从单个Redis队列读取的工作进程的数量,以调整整体系统性能。

  • 我正在开发一个使用Redis的API,它托管在ElastiCache上,有三个节点(一个主节点,两个副本)。周末,由于某种原因,主节点被切换到节点002(从001),这导致我的应用程序在尝试向Redis发送消息时出现只读错误。 有什么理由不手动操作就可以做到这一点?

  • 我有一个应用程序使用 Spring Boot 2.2.6.release(spring-boot-starter-data-redis) Jedis 3.1.0. 我的用例:我有一个繁忙的流量处理应用程序,我写数据到Redis,并期望通过索引字段读取实体列表。这些数据只在一段时间内相关,因此我正在利用Redis的过期功能。 一切似乎都在工作,直到我注意到Redis中的数据并没有像预期的那样过期。当

  • 我在一个集群中有两个节点;我允许用户有节点特定的配置,如日志级别,本地缓存设置等;有时,管理这些设置变得非常困难,因为用户必须知道或记住应用在特定节点上的配置--在找到该特定节点之前移动一个又一个节点;是否有任何标准或已知的方法可以从单个地方管理这些节点?比如,从httpd服务器本身还是将一个节点作为主节点并记住其他节点?