Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14268|Resposta: 0

[Fonte] 【Combate Prático】Tutorial de integração Redis com Spring Boot

[Copiar link]
Publicado em 11/03/2019 16:48:17 | | | |
A exceção é resolvida injetando a instância RedisTemplate no SpringBoot
https://www.itsvse.com/thread-7224-1-1.html
(Fonte: Architect_Programmer)
Erro ao criar feijão com o nome 'stringRedisTemplate' definido em...
https://www.itsvse.com/thread-7225-1-1.html
(Fonte: Architect_Programmer)

Meio Ambiente:Spring boot 2.1.1.RELEASE
pom.xml Adicione uma referência, configurando-a da seguinte forma:



No application.properties, configure da seguinte forma:


Vamos falar sobre as mudanças de configuração do spring-boot-starter-data-redis
https://www.itsvse.com/thread-7207-1-1.html
(Fonte: Architect_Programmer)

Escreva um controlador de teste:


Acessamos o controlador pelo navegador e depois visualizamos o cache pelo cliente Redis.

Spring redis possui dois templates, StringRedisTemplate e RedisTemplate, testamos os dados por meio desses dois templates e inserimos os pares-chave-valor itsvse e itsvse2 da seguinte forma:



Inserimos o mesmo valor, por que não só o formato de valor é diferente, mas também as regras de geração de chaves são diferentes.(Post diz abaixo)

Breve análise dos princípios

Dê uma olhada no que RedisTemplate e StringRedisTemplate usam em serialização.

Você pode ver que StringRedisTemplate é um RedisTemplate herdado. Depois, configure o método de serialização de strings para usar o StringRedisSerializer.

Código-fonte RedisSerializer.string():


UTF_8 Definição:
Em seguida, vamos dar uma olhada no código de serialização do RedisTemplate, e você pode ver que o padrão é usar o método de serialização JDK JdkSerializationRedisSerializer:



Consultar o código-fonte mostra que o RedisTemplate usa JdkSerializationRedisSerializer para serialização por padrão, enquanto o StringRedisTemplate usa o StringRedisSerializer.

Também observe:Os dados dos dois não são comuns; Isso significa que o StringRedisTemplate só pode gerenciar os dados no StringRedisTemplate, e o RedisTemplate só pode gerenciar os dados no RedisTemplate.

Isso explica que acabamos de realizar a operação de adição através do template, e existem diferentes formatos de dados.

Alterne o modo de serialização

Se você não quiser usar o método padrão de serialização, se usarmos o fastjson, você precisa personalizar o grão RedisTemplate para substituir o grão original injetado pelo springboot:



(Fim)




Anterior:A base olha para o talento, a de nível médio para a virtude e a de cima para a mente
Próximo:Falhou ao carregar arquivos ou assemblies das soluções Microsoft.Web.Infrastructure
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com