SpringBoot rapidamente integra Redis e redis ferramenta de escrita de classe

Introduzir dependências relacionadas ao Redis no arquivo pom.xml

         <! - redis ->
        <dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-starter-data-redis </artifactId>
        </dependency>
        <! - fastjson - >
        <dependency>
            <groupId> com.alibaba </groupId>
            <artifactId> fastjson </artifactId>
            <version> 1.2.47 </version>
        </dependency>

Dois, adicione a configuração relacionada ao redis em application.properties

# Índice do banco de dados Redis (o padrão é 0)
spring.redis.database = 0
# Endereço do servidor Redis
spring.redis.host = 192.168.0.205  
# Porta de conexão do servidor Redis
spring.redis.port = 6379
# Senha de conexão do servidor Redis (o padrão é vazio )
Spring.redis.password = rootzx
# Tempo limite de conexão (milissegundos)
spring.redis.timeout = 5000
# O número máximo de conexões no pool de conexão (use um valor negativo para indicar nenhum limite)
spring.redis.jedis.pool. max-active = 10
# O tempo máximo de espera de bloqueio do pool de conexão (use um valor negativo para indicar que não há limite)
spring.redis.jedis.pool.max-wait = 5000
# A conexão ociosa máxima no pool de conexão
spring.redis.jedis.pool.max-idle = 10
# Conexão A conexão ociosa mínima no pool
spring.redis.jedis.pool.min-idle = 5

Três, escreva uma classe de configuração do redis 

RedisTemplate pode ser configurado automaticamente

Mas a configuração automática não é fácil de usar, basta reconfigurar um RedisTemplate

Um pacote de classe de configuração conf cria uma classe de configuração redis

@Configuration
@ConditionalOnClass (RedisOperations.class)
@EnableConfigurationProperties (RedisProperties.class)
public class RedisConfig {     @Bean     @ConditionalOnMissingBean (name = "redisTemplate")     RedisTemplate pública <Object, Object> redisTemplate (             RedisConnectionFactory redisConnectionFactory) {         RedisTemplate <Object, Object> template = new RedisTemplate <> ();         // 使用 fastjson 序列 化         FastJsonRedisSerializer fastJsonRedisSerializer = new FastJsonRedisSerializer (Object.class);         // valor 值 的 序列 化 采用 fastJsonRedisSerializer         template.setValueSerializer (fastJsonRedisSerializer);
 





 




        template.setHashValueSerializer (fastJsonRedisSerializer);
        // chave 的 序列 化 采用 StringRedisSerializer
        template.setKeySerializer (new StringRedisSerializer ());
        template.setHashKeySerializer (new StringRedisSerializer ());
 
        template.setConnectionFactory (redisConnectionFactory);
        return template;
    }
 
    @Bean
    @ConditionalOnMissingBean (StringRedisTemplate.class)
    public StringRedisTemplate stringRedisTemplate (
            RedisConnectionFactory redisConnectionFactory) {         StringRedisTemplate template = new StringRedisTemplate ();         template.setConnectionFactory (redisConnectionFactory);         return template;



    }
 

 4. Em seguida, pode ser usado diretamente no projeto

RedisTemplate não pode ser usado com RedisTemplate <String, Object>;

A configuração pode usar RedisTemplate <String, Object>

Introduzir coordenadas

    <dependency>
                        <groupId> com.fasterxml.jackson.core </groupId>
                        <artifactId> jackson-annotations </artifactId>
         </dependency>

 @Configuration
public class RedisConfig {     @Bean     @SuppressWarnings ("all")     public RedisTemplate <String, Object> redisTemplate (RedisConnectionFactory factory) {         RedisTemplate <String, Object> template = new RedisTemplate <String, Object> ();         template.setConnectionFactory (fábrica);         Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = novo Jackson2JsonRedisSerializer (Object.class);         ObjectMapper om = new ObjectMapper ();         om.setVisibility (PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);         om.enableDefaultTyping (ObjectMapper.DefaultTyping.NON_FINAL);         jackson2JsonRedisSerializer.setObjectMapper (om);










        StringRedisSerializer stringRedisSerializer = novo StringRedisSerializer ();
        // utilizações principais Cadeia método de serialização
        template.setKeySerializer (stringRedisSerializer);
        // chave da mistura também usa o método de Cadeia serialização
        template.setHashKeySerializer (stringRedisSerializer);
        método // valor serialização usa Jackson
        template.setValueSerializer (jackson2JsonRedisSerializer );
        // O método de serialização de valor de hash usa jackson
        template.setHashValueSerializer (jackson2JsonRedisSerializer);
        template.afterPropertiesSet ();
        return template;
    }

Acho que você gosta

Origin blog.csdn.net/qq_39008613/article/details/103574610
Recomendado
Clasificación