【问题标题】:Dynamically creating RedisTemplate for connecting with different Redis server动态创建 RedisTemplate 用于连接不同的 Redis 服务器
【发布时间】:2017-05-06 18:21:21
【问题描述】:

我的应用程序基于 Spring Boot 构建,并由 Redis 数据存储提供支持。目前我只连接到单个 redis 服务器,并且该服务器的属性(主机/端口)在 bootstrap.yml 中定义。

我想通过为每个客户使用单独的 Redis 服务器来支持多租户。为此,我需要在运行时动态连接各种不同的 redis 服务器。 RedisTemplate 和 JedisConnecitonFactory 可以吗?

【问题讨论】:

    标签: redis spring-data spring-data-redis


    【解决方案1】:

    总之

    不需要多个RedisTemplate 实例;实现路由RedisConnectionFactory

    说明

    RedisTemplate 使用底层RedisConnectionFactory 来获取连接。要将 Redis 操作路由到不同的连接,只需实现 RedisConnectionFactory 的路由变体。 RedisTemplate 要求关联的RedisConnectionFactory 为每个操作提供一个RedisConnection

    使用交易时需要注意。事务使用将 Redis 连接绑定到调用线程,RedisTemplate 在同一连接上有效工作,直到事务完成。

    查看AbstractRoutingDataSource,了解 JDBC 连接如何支持数据源路由。路由RedisConnectionFactory 可以遵循相同的模式。

    【讨论】:

    • 感谢您的快速回复。让我试试你的选择。
    猜你喜欢
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多