Olha a foto e fala
A tecnologia de cache é onipresente no desenvolvimento de software. Hoje, vou compartilhar um código aberto doméstico e um framework de cache muito bom J2Cache. J2Cache é uma estrutura de armazenamento em cache de dois níveis atualmente em uso pela OSChina (requer pelo menos Java 8). O cache de primeiro nível usa memória (suporta Ehcache 2.x, Ehcache 3.x e Caffeine ao mesmo tempo), e o cache de segundo nível usa Redis (recomendado) / Memcached. Como um grande número de leituras de cache fará com que a rede L2 se torne o gargalo de todo o sistema, o objetivo de L1 é reduzir o número de leituras para L2. A estrutura de armazenamento em cache é usada principalmente em um ambiente de cluster. Ele também pode ser usado em uma máquina independente para evitar o impacto no negócio de backend após a reinicialização a frio do cache causada pela reinicialização do aplicativo.
J2Cache usa Caffeine como o cache de primeiro nível por padrão e Redis como o cache de segundo nível. Você também pode escolher Ehcache2 e Ehcache3 como o cache de primeiro nível.
Endereço do armazém:
https://gitee.com/ld/J2Cache
1. Preparação
1. Instale o Redis
2. Crie um novo projeto Java baseado em Maven
2. Citar Maven
<dependency>
<groupId>net.oschina.j2cache</groupId>
<artifactId>j2cache-core</artifactId>
<version>xxxxx</version>
</dependency>
3. Prepare-se para configurar
Copie j2cache.properties e caffeine.properties para o diretório de origem do seu projeto e certifique-se de que esses arquivos serão compilados no classpath do projeto. Se você escolher ehcache como o cache de primeiro nível, você precisa copiar ehcache.xml ou ehcache3.xml para o diretório de origem (o último corresponde à versão Ehcache 3.x), e os modelos desses arquivos de configuração podem ser de
https://gitee.com/ld/J2Cache/tree/master/core/resources
Venha aqui.
Use seu editor de texto favorito para abrir j2cache.properties e localizar o item redis.hosts e alterar suas informações para o endereço e a porta em que seu servidor Redis está localizado. Recomenda-se que o tamanho do cache e o tempo efetivo sejam definidos com antecedência antes de usar o cache. Use um editor de texto para abrir caffeine.properties para configurar o cache. Para o método de configuração, consulte os comentários no arquivo.
Por exemplo:
default = 1000,30m #定义缓存名default,对象大小1000,缓存数据有效时间30分钟。 可以定义多个不同名称的缓存。
Quatro. Escrever código
Test.java
public static void main(String[] args) {
CacheChannel cache = J2Cache.getChannel();
//缓存操作
cache.set("default", "1", "Hello J2Cache");
System.out.println(cache.get("default", "1"));
cache.evict("default", "1");
System.out.println(cache.get("default", "1"));
cache.close();
}
Compile e execute para ver os resultados. Para mais uso, consulte o método de interface CacheChannel.java.
Observe que o método cache.close () só precisa ser chamado quando o programa termina.
Cinco. Construir dinamicamente uma instância J2Cache
J2CacheConfig config = new J2CacheConfig();//填充 config 变量所需的配置信息
J2CacheBuilder builder = J2CacheBuilder.init(config);
CacheChannel channel = builder.getChannel();//进行缓存的操作
channel.close();
J2Cache fornece plug-ins relacionados que integram Spring, Hibernate e Mybatis, e você pode visualizá-los em mais detalhes:
https://gitee.com/ld/J2Cache/blob/master/README.md
Os módulos de plug-in fornecidos podem ser encontrados nos seguintes diretórios do warehouse:
https://gitee.com/ld/J2Cache/tree/master/modules