【问题标题】:Spring Data Redis and Jedis Compatibility issueSpring Data Redis 和 Jedis 兼容性问题
【发布时间】:2018-10-11 01:47:25
【问题描述】:

我正在尝试从 RedisClusterConfiguration(下面给出的伪代码)创建 JedisConnection 工厂,但我遇到了编译时错误

redis.clients.jedis.JedisShardInfo 类型无法解析。是 从所需的 .class 文件间接引用。

代码片段:

RedisClusterConfiguration clusterConfiguration = new RedisClusterConfiguration(clusterList);
return new JedisConnectionFactory(clusterConfiguration);

正在使用的 Spring Data Redis 版本:2.0.6.RELEASE

【问题讨论】:

  • 当我导入 Jedis 客户端(版本 2.9.0)时,此错误得到解决。但是在运行时在不同的点中断。我很想知道当我有spring数据redis依赖时jedis客户端是否真的需要。
  • 我也有类似的问题。你有你发布的问题的解决方案吗?

标签: redis spring-data jedis spring-data-redis redis-cluster


【解决方案1】:

如您所见:https://github.com/spring-projects/spring-data-redis/blob/master/pom.xml#L75

Jedis 客户端设置为可选依赖项。

在自己的项目中,需要导入 Jedis 客户端。如果使用 Maven:

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
    <type>jar</type>
</dependency>

Jedis 客户端是必要的,因为 Spring Data Redis 是一个支持多个驱动程序(Jedis、Lettuce...)的伞式项目。导入所有驱动程序会很麻烦。由您决定使用什么驱动程序。

【讨论】:

  • 啊,我错过了可选参数。谢谢指出!
【解决方案2】:

您可以在spring-data-redis 的 pom 中检查它正在使用哪个版本的jedis 并开始使用相同的版本。这将保证没有冲突。

【讨论】:

    猜你喜欢
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2019-08-27
    相关资源
    最近更新 更多