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

杰迪斯和雷迪斯配置与Spring靴

訾旭
2023-03-14

在配置包中配置Jedis和Redis后。我用bean注释创建了jedisConnectionFactory和redisTemplate。但是应用程序无法运行“错误:创建名为“redisConnectionFactory”的bean。我需要做什么?

共有1个答案

晋鹤轩
2023-03-14

没有任何代码片段,很难弄清楚到底出了什么问题。因此,相反,我将提供适用于我的配置文件中的bean。您可以与它进行比较,看看是否有任何不匹配。

@Bean
public LettuceConnectionFactory redisConnectionFactory() {
    logger.debug("Setting up Redis-Lettuce connection factory");
    return new LettuceConnectionFactory(redisStandaloneConfiguration());
}

@Bean
public RedisStandaloneConfiguration redisStandaloneConfiguration() {
    RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
    redisStandaloneConfiguration.setHostName(host);
    redisStandaloneConfiguration.setPort(port);
    redisStandaloneConfiguration.setDatabase(database_index);
    redisStandaloneConfiguration.setPassword(RedisPassword.of(password));
    return redisStandaloneConfiguration;
}

@Bean
public RedisTemplate<String, ObjectDTO> redisTemplate() {
    RedisTemplate<String, ObjectDTO> redisTemplate = new RedisTemplate<String, ObjectDTO>();
    StringRedisSerializer stringSerializer = new StringRedisSerializer();
    mapper = new ObjectMapper();
    mapper =
        mapper.activateDefaultTyping(
            new LaissezFaireSubTypeValidator(),
            ObjectMapper.DefaultTyping.NON_FINAL,
            JsonTypeInfo.As.PROPERTY);
    RedisSerializer<Object> jacksonSerializer = new GenericJackson2JsonRedisSerializer(mapper);

    redisTemplate.setDefaultSerializer(jacksonSerializer);
    redisTemplate.setKeySerializer(stringSerializer);
    redisTemplate.setHashKeySerializer(stringSerializer);
    redisTemplate.setHashValueSerializer(jacksonSerializer);
    redisTemplate.setConnectionFactory(redisConnectionFactory());
    redisTemplate.afterPropertiesSet();
    return redisTemplate;
}

@Bean
public HashOperations<String, String, ObjectDTO> hashOperations() {
    RedisTemplate<String, ObjectDTO> redisTemplate = redisTemplate();
    return redisTemplate.opsForHash();
}

正如你所看到的 - 我正在创建一个生菜连接工厂的实例,而不是绝地连接工厂,因为它更适合我的用例。有关两者之间的快速参考,您可以使用本文。杰迪斯可能有一些额外的配置,你可能会错过。如果错误仍然存在,请添加您的配置文件和错误堆栈跟踪。

 类似资料:
  • 我一直在读有关Redis sentinel用于故障转移的文章。我计划有1主+1从,如果主倒下超过1分钟,把从变成主。我知道这在哨兵身上是百分之百可能的。 null 与1个哨兵相比,多个哨兵有什么好处?我的应用程序一次只能连接到1个哨兵,即使有2个哨兵,如果其中一个在应用程序层中出现复杂的逻辑,我的应用程序也不能在其中任何一个之间旋转或切换。

  • Redis可以像Kafka一样被用作实时酒吧。 我很困惑什么时候该用哪一个。 任何用例都将是一个很大的帮助。

  • 我使用的是Spring2.1.1和Redis4.0.1。我已经配置了两台节点计算机,一台具有主配置,另一台具有从配置。我正在两个系统上使用jedis(不使用spring-jedis)运行Springboot应用程序,出现了不同的情况- > 在主节点上运行应用程序(用主节点配置的redis)时,数据会集中在缓存中。 在从节点上运行应用程序时(redis配置了从节点),出现异常-(i.)我能够从sen

  • 主要内容:迪杰斯特拉算法的实现思路,迪杰斯特拉算法的具体实现迪杰斯特拉算法用于查找图中某个顶点到其它所有顶点的最短路径,该算法既适用于无向加权图,也适用于有向加权图。 注意,使用迪杰斯特拉算法查找最短路径时,必须保证图中所有边的权值为非负数,否则查找过程很容易出错。 迪杰斯特拉算法的实现思路 图 1 是一个无向加权图,我们就以此图为例,给大家讲解迪杰斯特拉算法的实现思路。 图 1 无向加权图 假设用迪杰斯特拉算法查找从顶点 0 到其它顶点的最短路径,具体过

  • 我使用redis与阿卡,所以我不需要阻止调用。生菜内置了异步未来调用。但是Jedis是Redis推荐的客户。有人能告诉我我是否正确地使用了它们。如果是这样,哪一个更好。 绝地武士我正在使用一个静态绝地武士连接池来获取con,并使用Akka future回调来处理结果。我在这里关心的是,当我使用另一个线程(可调用)来获得结果时,该线程最终将阻止该结果。而莴苣可能有更有效的方法。 莴苣 如果莴苣是异步

  • https://github.com/kubernetes/examples/tree/master/staging/storage/redis 它在给定的图像中工作得很好,但当我们使用Redis官方图像时,哨兵无法在第一个豆荚中连接到Redis。 它显示以下错误: 无法连接到redis,地址-P:6379 如何创建带有Redis官方图像的集群?