Prefácio
Os alunos que trabalharam em grandes sistemas de software sabem que, à medida que os dados do sistema se tornam maiores e mais complexos, o problema que vem com o pior desempenho do sistema, especialmente a perda de desempenho causada pela operação frequente do banco de dados, é mais grave. Muitos bigwigs propuseram muitas soluções e desenvolveram muitas estruturas para otimizar as perdas de desempenho causadas por bancos de dados operacionais frequentes. Entre eles, os dois servidores de cache particularmente proeminentes são Memcached e Redis. Hoje, não falaremos sobre Memcached e Redis. Aqui, apresentaremos principalmente o conteúdo relevante da integração da Spring e Redis. Não vou dizer muito abaixo, vamos dar uma olhada na introdução detalhada juntos.
O método é o seguinte
O primeiro passo é adicionar o código POM de Redis ao projeto:
<Depencency> <voupid> redis.clients </frugid> <stifactId> jedis </artifactId> <versão> 2.6.0 </version> </dependency>
A segunda etapa é carregar o arquivo de configuração Redis na mola: ApplicationContext-redis.xml, o conteúdo é o seguinte
<bean id = "poolconfig"> <propriedade name = "maxtotal" value = "$ {Redis.maxtotal}" /> </i bean> <ean> <construtor-arg index = "0" Ref = "PoolConfig" /> <construtor-arg Índice = "1"> <list> <Bean> < value = "$ {redis.node1.host}"/> <construtor-arg index = "1" value = "$ {Redis.node1.port}"/> </bean> </list> </construtor-arg> </ Bean> </ Bean>A terceira etapa é escrever o arquivo de propriedade conectado ao servidor Redis: Redis.properties
redis.maxtotal = 100redis.node1.host = 127.0.0.1redis.node1.port = 6379
Etapa 4: Escreva a classe de método de operação relevante, a classe de função e a classe RedisService de redis:
Classe Funcrion:
Pacote XX.Service;/** * Para extrair o mesmo código de operação * @Author Yeying * <P> Descrição: </p> * <p> Empresa: </p> * @Date: 5 de dezembro de 2017 às 21:02:44 */Função de interface pública <t, e> {public t Rallback (E);}Classe Redissevice:
pacote com.taotao.common.service; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.tereotype.service; operações redis.cliients.jedis.shardedjedis; import redis.cliientats.jedis.shardjedjedis.jedis.shardjedis; import redis.cliientats.jedis.shdis.shard.jedis.shardjedis; *<p> Descrição: </p> *<p> Empresa: </p> *@date: 3 de dezembro de 2017 às 14:11:47 */ @ServicePublic Class RedisService {@AUTOWIRED (NEIXIDADE = FALSO) // Precisa injetar privado shardedjedispispool shardjediSPool; private <t> t execute (função <t, shardedjedis> diversão) {shardedjedis shardedjedis = null; tente {// Obtenha o objeto Jedis Sharded no pool de conexões shardedjedis = shardedjedispool.getResource (); // Obtenha os dados do Redis Return Fun.Callback (ShardedJedis); } catch (Exceção e) {e.printStackTrace (); } finalmente {if (null! = shardedjedis) {// feche, detecte se a conexão é válida, coloque -a de volta no pool de conexões e redefina o status se for inválido, shardedjedis.close (); }} retornar nulo; } / ** * Execute a operação definida * @param key * @param value * @return * / public String set (tecla final da string, value final da string) {return this.execute (nova função <string, shardedjedis> () {@Override String callback (shardedJedis e) {return E. (key, value); } / ** * Execute uma operação definida e defina o tempo de sobrevivência em segundos * @param key * @param valor * @param segundos * @return * / public String set (chave da string final, valor final da string, integro final segundos) {@Override public E.Expire (chave, segundos); } / ** * Execute a operação Get * @param key * @return * / public String get (Final String key) {return this.execute (nova função <string, shardedjedis> () {@Override public String RinBack (shardedjedis e) {return E.get (key);}}); } / ** * Execute a operação definida * @param key * @return * / public Long del (Final String Key) {return this.execute (nova função <long, shardedjedis> () {@Override public Long Rallback (shardedjedis e) {return e.del (key);}}); } / ** * Defina o tempo de sobrevivência em segundos * @param key * @param segundos * @return * / public long Expire (chave de string final, inteiro final segundos) {retorna this.execute (nova função <long, shardjedis> () {@Override public BackBack (shardedJedis e) {return e.expira () {@Override Public Rackback (shardedi); }}); }}Etapa 5: Inicie o Serviço Redis, Redis-Server.exe e clique duas vezes para abrir:
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.