Primavera é um contêiner leve, de injeção de dependência e de desenvolvimento orientado a aspectos e estrutura para Java. Ele reduz a complexidade geral do desenvolvimento J2EE e fornece alta coesão e baixo acoplamento. Devido aos benefícios que o Spring oferece, ele é usado por muitos desenvolvedores para criar aplicativos de alto tráfego de pequeno a nível corporativo.
Mas esses aplicativos Spring de alto tráfego enfrentam um grande problema de escalabilidade. Embora eles possam ser dimensionados adicionando mais servidores ao farm de servidores de aplicativos, seu servidor de banco de dados não pode ser dimensionado da mesma forma para lidar com a crescente carga de transações. Em tais situações, um cache distribuído Java é a melhor opção para lidar com o descarregamento do banco de dados, reduzindo essas viagens caras ao banco de dados e também melhorando o desempenho do aplicativo.
NCache Adicionar ao carrinho NCache Docs NCache Documentos de cache do Spring
Por que Spring Application com NCache?
NCache, um cache distribuído na memória implementou o provedor Spring Caching introduzindo um mecanismo genérico de cache Java com o qual você pode facilmente armazenar em cache a saída de seus métodos intensivos de CPU, demorados e vinculados ao banco de dados do aplicativo Spring. Essa abordagem não apenas reduz a carga do banco de dados, mas também reduz o número de execuções de métodos e melhora o desempenho do aplicativo. Neste blog, discutirei mais sobre como configurar o Spring Caching com NCache.
NCache Adicionar ao carrinho NCache como Spring Data Cache Configurar aplicativo usando NCache
Como configurar o Spring Caching para usar NCache?
NCache fornece suporte ao cache do Spring por meio de Provedor genérico de cache Spring, Onde NCache atua como um gerenciador de cache para seu aplicativo Spring e por meio de Provedor de Cache JCache, Onde NCache usa o recurso suportado do JCache. Basta seguir os passos abaixo para ambas as formas e configurar NCache com seu aplicativo Spring.
Provedor genérico de cache Spring
Para configurar seu aplicativo Spring com NCache Generic Spring Caching Provider, primeiro você precisa adicionar o Dependência Maven aquela primavera e NCache fornece. Em seguida, defina beans em seu aplicativo Spring por meio de Definição de Bean Baseado em Java or Definição de Bean Baseado em XML.
Para definir beans usando a definição baseada em Java, você precisa adicionar o @Bean
anotação no CachingConfiguration
aula onde o setConfigFile()
método irá especificar o caminho para o seu ncache-spring.xml
arquivo, mostrado abaixo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@Configuration @EnableCaching public class CachingConfiguration { @Bean public CacheManager cacheManager() { SpringConfigurationManager springConfigurationManager = new SpringConfigurationManager(); URL resource = getClass().getClassLoader().getResource("ncache-spring.xml"); springConfigurationManager.setConfigFile(resource.getPath()); NCacheCacheManager cacheManager = new NCacheCacheManager(); cacheManager.setSpringConfigurationManager(springConfigurationManager); return cacheManager; } } |
Para definir beans usando definição baseada em XML, você precisa adicionar um arquivo xml que habilite o armazenamento em cache e especifique NCache como gerenciador de cache. As tags de bean devem ser definidas para ambos cacheManager
e NCacheConfigurationManager
. Também, springConfigurationManager
e logFilePath
as propriedades devem ser especificadas para cacheManager. Para mais detalhes sobre essas propriedades, consulte nosso Documentos de cache do Spring.
NCache O Gerenciador de Cache usa o ncache-spring.xml
arquivo, onde os caches devem ser configurados e definidos com seu próprio conjunto de propriedades. O código de exemplo é fornecido abaixo.
1 2 3 4 5 |
<application-config default-cache-name="default"> <caches> <cache name="CustomerCollectionCache" ncache-instance="demoCache" priority="normal" expiration-type="absolute" expiration-period="10"/> </caches> </application-config> |
Provedor de Cache Spring JCache
O Spring também suporta os provedores de cache de reclamação JCache, onde você pode usar o JCache em seu aplicativo Spring com NCache. Adicione a dependência Maven necessária para Spring Framework ou Spring Boot e NCache para integração. Em seguida, configure seu cache para o aplicativo JCache Spring.
Você pode configurar seu cache com as duas maneiras mais explicadas. Uma é, você pode adicionar spring.cache.cache-names
tag no application.properties
Arquivo. O nome do cache deve ser o mesmo configurado em NCache Web Manager.
1 |
spring.cache.cache-names=demoCache,booksCache |
Outra é, você pode configurar seu cache através do JCacheManagerCustomizer
classe que inicializa o cache em tempo de execução com a configuração desejada.
1 2 3 4 5 6 7 8 9 10 11 |
@Configuration public class CacheConfiguration implements JCacheManagerCustomizer { @Override public void customize(CacheManager cacheManager) { MutableConfiguration mutableConfiguration = new MutableConfiguration(); mutableConfiguration.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(Duration.ONE_MINUTE)); cacheManager.createCache("booksCache", mutableConfiguration); } } |
Identifique os métodos que precisam ser armazenados em cache usando a declaração de cache
Depois de habilitar o armazenamento em cache por meio de ambas as configurações definidas acima, a próxima etapa é vincular esses comportamentos de armazenamento em cache a seus respectivos métodos para usar NCache como um provedor de cache para Spring.
Você pode vincular comportamentos de cache a seus métodos de duas maneiras. Um é através Cache de anotações e o outro está acabado Cache declarativo baseado em XML. Para obter uma compreensão detalhada, vá para o Configurar declaração de cache Spring Docs.
A seguir o código de exemplo usando a anotação @Cacheable para executar o armazenamento em cache no serviço da Web que contém o cache booksCache.
1 2 3 4 5 6 7 8 9 |
// BookService.java @Service public class BookService { @Cacheable("booksCache") public String getBookNameByIsbn(String isbn) { return findBookInSlowSource(isbn); } // further code } |
NCache Adicionar ao carrinho Documentos da API JCache Cache de hibernação
Conclusão!
Usando NCache como um provedor Spring Caching, você pode dimensionar seus aplicativos Spring linearmente e com desempenho aprimorado. Simplesmente modifique seus arquivos de configuração e pronto! Então, baixe NCache agora e experimentá-lo por si mesmo!
NCache Adicionar ao carrinho Baixar NCache Comparação de edições