Introdução a Redis
Redis (site oficial: https://redis.io) é um banco de dados de cache persistente de Log-Type baseado em memória, salvo em formato de valor-chave. Redis é totalmente gratuito e de código aberto. Está escrito na linguagem Ansi C. Como outros produtos de cache de valor-chave, o Redis possui os três recursos a seguir.
• Redis suporta persistência de dados, que podem salvar dados na memória no disco e podem ser carregados novamente para uso durante o reinício;
• Redis não apenas suporta dados simples do tipo de valor-chave, mas também fornece armazenamento de estruturas de dados, como strings, listas vinculadas, coleções, coleções ordenadas e hashs;
• O REDIS suporta backup de dados, ou seja, backup de dados no modo mestre-escravo.
Em um sistema MAC, você não precisa baixar o Redis para usá -lo. Aqui estão os comandos relevantes para baixar os pacotes compactados da Redis do servidor de hospedagem da Redis e descompactá -los.
wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xzf redis-4.0.8.tar.gzcd Redis-4.0.8Make
Antes de usar os serviços prestados pela Redis, você precisa iniciar primeiro os serviços relacionados ao Redis. O comando para iniciar o Redis no sistema MAC é o seguinte.
src/redis-server
Em seguida, reabre um cliente Redis e use o seguinte comando para conectar -se ao servidor Redis.
SRC/Redis-Cledis> Set Foo Barokredis> Get Foo "Bar"
Integrar o banco de dados Redis
Antes de usar o Redis, você precisa introduzir dependências relacionadas. Os scripts que dependem do método maven são os seguintes:
<Depencency> <PuerpId> org.springframework.boot </frugiD> <stifactId> primavera-boot-starter-data-redis </artifactId> </dependency>
Depois disso, escrevemos a configuração relevante do Redis para YML. Aqui, recomendamos escrever diferentes configurações de acordo com diferentes ambientes antes. A porta padrão usada pelo Redis é 6379. Normalmente, o Redis usa um banco de dados nº 0 por padrão, e existem 16 bancos de dados por padrão:
#Redis Configuration Redis:# Banco de dados de índice de banco de dados: 0# Endereço do servidor Host: 127.0.0.1# Porta de conexão do servidor Porta de conexão: 6379# Link Senha:# link pool pool:# Número máximo de conexões (valor negativo significa sem limite: max-attive: 8# máximo de bloqueio máximo (valor negativo significa não-limite) max-wait 1# max## Timeout de link (milissegundos) Tempo limite: 0
Se for o método Application.Properties, algumas configurações são as seguintes:
spring.redis.hostname = 127.0.0.1spring.redis.port = 6379 spring.redis.pool.maxactive = 8 spring.redis.pool.maxwait = -1 spring.redis.pool.maxidle = 8 spring.redis.pool.minidle = 0 spring.dis.time
Crie um novo arquivo Redisconfig.java para armazenar arquivos de configuração.
@Configuration @EnableCaching // Abra a classe pública de anotação Redisconfig estende CachingConfigurersupport {@Bean Public Cachemanager Cachemanager (Redistemplate <?,?> Redistemplate) {Cachemanager Cachemanager = new Rediscachemanager (redistemplate); Retornar Cachemanager; } @Bean public Redistemplate <String, String> Redistemplate (RedisconnectionFactory Factory) {Redistemplate <String, String> Redistemplate = new Redistemplate <String, String> (); redistemplate.setConnectionFactory (Factory); return redistemplate; }}Crie uma classe RedisService.java no pacote de serviço.
interface pública redissevice {public void set (chave da string, valor do objeto); objeto público get (chave de string); }Crie uma nova classe de implementação de serviço RedisServiceImpl.java.
@ServicePublic Class redisServiceImpl implementa redisservie {@Resource Private Redistemplate <string, object> redistemplate; public void set (chave da string, valor do objeto) {valueOperations <string, object> vo = redistemplate.opsforValue (); Vo.set (chave, valor); } public objeto get (string key) {valueOperations <string, object> vo = redistemplate.opsforValue (); retornar vo.get (chave); }}Crie um novo código de camada de controlador UserController.java
@Controlador @requestmapping (path = "/user") classe pública UserController {@AUTOWIRED PRIVADO UserService UserService; @Autowired Private RedisService RedisService; // Obtenha um usuário de redis@requestmapping (value = "/getUserFromredis", método = requestMethod.get) public @ResponseBody User GetRredis (@RequestParam String key) {return (User) redisservie.get.get (key); } // Obtenha todos os usuários @RequestMapping (Value = "/getUsers", Method = requestMethod.get) public @ResponseBody Page <suser> List (Model Model, Pagable Pageable) {return Userservice.findall (Pageable); } // Adicione o usuário @getMapping (value = "/addUser") public @ResponseBody String addUser (@RequestParam String dictum, @RequestParam String senha, @RequestParam String UserName) {User user = new User (); user.setDictum (dictum); user.setPassword (senha); user.setUserName (nome de usuário); System.out.println (usuário); UserService.SaveUser (Usuário); redissservice.set (user.getId ()+"", usuário); retornar "salvo"; }}O código da classe Entity User.java projetado neste artigo é o seguinte: Armazenar objetos no redis requer serialização.
@Entity@tabela (name = "s_user") classe pública o usuário implementa serializável {private estático final serialversionuid = 1L; @Id @generatedValue (estratégia = generationType.auto) ID inteiro privado; Nome de usuário privado de string; senha de sequência privada; ditado de cordas privadas; @Onetomany (mapedby = "user", fetch = fetchtype. Preguiçoso, cascata = {cascadeType. All}) conjunto privado <Photo> setphoto; // omita getter e setter @Override public string tostring () {return "user [id =" + id + ", nome de usuário =" + nome de usuário + ", senha =" + senha + ", dictum =" + dictum + ", setphoto =" + setphoto + "]"; }}Resumir
O acima é o método do SpringBoot que integra o banco de dados Redis introduzido a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!