Infinispan Tutorials
Step-by-step guides to learn Infinispan features
Semantic Search with LangChain4j and Infinispan
Use Infinispan as a vector database for AI semantic search with LangChain4j embeddings
Vector Search with Infinispan
Perform kNN vector search and hybrid queries combining vector similarity with full-text and metadata filters
Cache Aliases with Embedded Infinispan
Create and update cache aliases so that a single cache is accessible under multiple names
Distributed Cache with Embedded Infinispan
Create a distributed cache across a cluster of embedded Infinispan nodes using DIST_SYNC mode
Invalidation Mode with Embedded Infinispan
Use invalidation mode in a clustered environment where nodes maintain local data and invalidate stale entries across the cluster
Replicated Cache with Embedded Infinispan
Create a replicated synchronous cache where all data is stored on every node in the cluster
Cluster Executor with Embedded Infinispan
Execute tasks across all nodes in an Infinispan cluster using ClusterExecutor
Clustered Counters with Embedded Infinispan
Use strong bounded, strong unbounded, and weak counters in an embedded Infinispan cluster
Functional Map API with Embedded Infinispan
Use the functional map API for write-only, read-only, and read-write operations on cache entries
JCache (JSR-107) with Embedded Infinispan
Use the standard JCache API (JSR-107) with Infinispan as the caching provider
Kubernetes Discovery with Embedded Infinispan
Configure embedded Infinispan to discover cluster members using Kubernetes DNS_PING
Cache Listeners with Embedded Infinispan
Register listeners to receive notifications when cache entries are created or modified
Clustered Locks with Embedded Infinispan
Use clustered locks for distributed synchronization across embedded Infinispan nodes
Local Cache Map with Embedded Infinispan
Use an embedded Infinispan cache as a local key-value map with basic put and get operations
Prometheus Metrics and JMX with Embedded Infinispan
Enable Prometheus metrics scraping and JMX statistics on an embedded Infinispan cache
Multimap Cache with Embedded Infinispan
Store multiple values per key using the embedded multimap cache with an asynchronous API
Ickle Queries with Embedded Infinispan
Run Ickle queries against indexed entities stored in an embedded Infinispan cache
Programmatic Index Configuration with Embedded Infinispan
Define index mappings programmatically instead of using annotations for embedded Infinispan queries
Authorization and Security with Embedded Infinispan
Configure role-based authorization to control access to embedded Infinispan caches
Java Streams with Embedded Infinispan
Use the Java Streams API to perform map-reduce operations on embedded Infinispan cache data
Transactions with Embedded Infinispan
Use JTA transactions to perform atomic commit and rollback operations on an embedded Infinispan cache
Hibernate L2 Cache with Infinispan (Standalone)
Use Infinispan as the Hibernate second-level cache provider in a standalone Java application
Hibernate L2 Cache with Spring Boot
Use Infinispan as the Hibernate second-level cache provider in a Spring Boot application
Hibernate L2 Cache with WildFly
Use Infinispan as the Hibernate second-level cache provider in a WildFly JAX-RS application
Quarkus Infinispan Client
Build a Quarkus REST resource that stores, retrieves, and full-text searches data in a remote Infinispan Server
Spring Boot Embedded Caching
Use Spring Boot @Cacheable with an embedded Infinispan cache manager
Spring Boot Remote Caching
Use Spring Boot with @Cacheable and @CacheEvict backed by a remote Infinispan Server
Spring Boot Reactive Remote Caching
Use Spring Boot with reactive @Cacheable and Project Reactor backed by a remote Infinispan Server
Spring Boot HTTP Sessions with Embedded Infinispan
Store Spring Boot HTTP sessions in an embedded clustered Infinispan cache
Spring Boot HTTP Sessions with Remote Infinispan
Store Spring Boot HTTP sessions in a remote Infinispan Server for externalized session management
Spring @Cacheable with Embedded Infinispan
Use Infinispan as the Spring CacheManager with @Cacheable annotations
C# Hot Rod Client: Getting Started
Connect to an Infinispan Server and perform basic cache operations with the C# Hot Rod client
C++ Hot Rod Client: Getting Started
Connect to an Infinispan Server and perform basic cache operations with the C++ Hot Rod client
Node.js Hot Rod Client: Getting Started
Connect to an Infinispan Server and perform basic cache operations with the Node.js Hot Rod client
Python REST Client: Getting Started
Connect to an Infinispan Server and perform basic cache operations with Python and the REST API
Remote Cache: Getting Started
Connect to an Infinispan Server and perform basic cache operations with the Hot Rod client
Remote Cache Administration
Create caches remotely using the Hot Rod client admin API with simple, template, and XML configurations
Remote Cache Aliases
Add aliases to remote caches and access the same data through different cache names
Continuous Queries
Receive real-time notifications when cached data matches a query using continuous query listeners
Remote Counters
Use strong counters (bounded and unbounded) and weak counters with the Hot Rod client
Cross-Site Replication
Set up active-passive cross-site replication between two Infinispan clusters (LON and NYC) and switch between them
Cache Encodings with DataFormat
Store and retrieve data using different cache encodings (text/plain, JSON, XML) with the DataFormat API
JUnit 5 Testing with Infinispan Server Extension
Write integration tests using the Infinispan Server JUnit 5 extension with Testcontainers
Using Infinispan with Kotlin
Connect to Infinispan Server and perform cache operations using Kotlin and the Hot Rod client
Client Listeners for Cache Events
Register client listeners to receive notifications when cache entries are created or modified
Remote Multimap Cache
Store multiple values per key using the remote multimap cache API
Near-Cache with Bloom Filters
Speed up repeated reads by enabling near-caching with bloom filter optimization on the Hot Rod client
OpenTelemetry Tracing
Enable OpenTelemetry tracing on an Infinispan cache and view traces in Jaeger
Per-Cache Configuration
Configure remote caches using templates, inline XML, and URI-based XML files
SQL Store Persistence
Persist cache data to a relational database using SQL table stores with Protobuf schemas
Programmatic ProtoStream Marshalling
Build a Protobuf schema programmatically and register a custom marshaller without annotations
Querying Data with Ickle and Protobuf
Index and query cached data using Ickle queries, Protobuf schemas, and full-text search
Reactive API with Mutiny
Perform non-blocking cache operations using the Infinispan Mutiny reactive API
Accessing Infinispan with a Redis Client
Connect to Infinispan using the RESP protocol with the Jedis Redis client library
Schema Administration
Create, update, retrieve, and remove Protobuf schemas programmatically using the Schema Admin API
Securing Caches with Role-Based Authorization
Configure role-based access control (RBAC) to restrict cache operations by user role
TLS with Client Certificate Authorization
Connect to Infinispan Server using TLS encryption and client certificate authentication with EXTERNAL SASL
Spatial Queries
Run geospatial queries on indexed caches using within circle, box, polygon, distance projection, and spatial ordering
Server-Side Tasks
Upload and execute server-side JavaScript tasks via the Hot Rod client and REST API
Transactional Cache Operations
Perform transactional cache operations with commit and rollback using the Hot Rod client
The Client/Server Weather APP
Use Infinispan from the Web Console and remote Hot Rod clients to build a searchable weather monitoring system
The Embedded Weather APP
Embed Infinispan in your application, progressing from a simple local cache to a fully-distributed compute grid
Quarkus Demo
Infinispan and Quarkus integration example application
SQL Store Demo
Infinispan SQL store demo with Quarkus
Eclipse Vert.x Demo
Infinispan and Vert.x integration example
Spring-Boot Demo
Infinispan and Spring-Boot integration example


