Este contenido no está disponible en el idioma seleccionado.

Chapter 2. Using Embedded Caches


Embed Data Grid caches directly in your project for in-memory data storage.

2.1. Adding the EmbeddedCacheManager Bean

Configure your application to use embedded caches.

Procedure

  1. Add infinispan-spring-boot-starter-embedded to your project’s classpath to enable Embedded mode.
  2. Use the Spring @Autowired annotation to include an EmbeddedCacheManager bean in your Java configuration classes, as in the following example:

    private final EmbeddedCacheManager cacheManager;
    
    @Autowired
    public YourClassName(EmbeddedCacheManager cacheManager) {
        this.cacheManager = cacheManager;
    }
    Copy to Clipboard Toggle word wrap

You are now ready to use Data Grid caches directly within your application, as in the following example:

cacheManager.getCache("testCache").put("testKey", "testValue");
System.out.println("Received value from cache: " + cacheManager.getCache("testCache").get("testKey"));
Copy to Clipboard Toggle word wrap

2.2. Cache Manager Configuration Beans

You can customize the cache manager with the following configuration beans:

  • InfinispanGlobalConfigurer
  • InfinispanCacheConfigurer
  • Configuration
  • InfinispanConfigurationCustomizer
  • InfinispanGlobalConfigurationCustomizer
Note

You can create one InfinispanGlobalConfigurer bean only. However you can create multiple configurations with the other beans.

InfinispanCacheConfigurer Bean

@Bean
public InfinispanCacheConfigurer cacheConfigurer() {
	return manager -> {
		final Configuration ispnConfig = new ConfigurationBuilder()
                        .clustering()
                        .cacheMode(CacheMode.LOCAL)
                        .build();

		manager.defineConfiguration("local-sync-config", ispnConfig);
	};
}
Copy to Clipboard Toggle word wrap

Configuration Bean

Link the bean name to the cache that it configures, as follows:

@Bean(name = "small-cache")
public org.infinispan.configuration.cache.Configuration smallCache() {
    return new ConfigurationBuilder()
        .read(baseCache)
        .memory().size(1000L)
        .memory().evictionType(EvictionType.COUNT)
        .build();
}

@Bean(name = "large-cache")
public org.infinispan.configuration.cache.Configuration largeCache() {
    return new ConfigurationBuilder()
        .read(baseCache)
        .memory().size(2000L)
        .build();
}
Copy to Clipboard Toggle word wrap

Customizer Beans

@Bean
public InfinispanGlobalConfigurationCustomizer globalCustomizer() {
   return builder -> builder.transport().clusterName(CLUSTER_NAME);
}

@Bean
public InfinispanConfigurationCustomizer configurationCustomizer() {
   return builder -> builder.memory().evictionType(EvictionType.COUNT);
}
Copy to Clipboard Toggle word wrap

2.3. Enabling Spring Cache Support

With both embedded and remote caches, Data Grid provides an implementation of Spring Cache that you can enable.

Procedure

  • Add the @EnableCaching annotation to your application.

If the Data Grid starter detects the:

  • EmbeddedCacheManager bean, it instantiates a new SpringEmbeddedCacheManager.
  • RemoteCacheManager bean, it instantiates a new SpringRemoteCacheManager.
Volver arriba
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2025 Red Hat