Infinispan is designed with ease of use and performance in mind but also gives you enterprise-grade capabilities for a wide range of use cases.
Flexible Deployment Models
- Run as a library inside your applications.
- Deploy as a server with high-performance remote access.
Designed for the Cloud
- Lightweight, cloud-native design for microservice architectures.
- Kubernetes Operator that provides operational intelligence.
- Container image that you can run anywhere: OpenShift, AWS EC2, Azure, GCP.
Configurable data storage
- Configure cache modes to distribute and replicate data as needed.
- Encode key/value entries with different storage formats.
- Store data in the JVM heap or native “off-heap” memory.
Clusterable and Elastic
- Automatically form clusters with configurable discovery mechanisms.
- Tune consistent hashing to control the nodes where data is located.
- Create global clusters that span multiple data centers.
- Control access to data based on user roles and permissions.
- Define server security realms that protect you from intrusion and attack.
- Encrypt inter-cluster traffic and remote endpoints.
Administration and Monitoring
- Infinispan Console gives you intuitive administration and monitoring capabilities.
- Infinispan CLI provides simple, yet powerful, tooling for administration tasks
- Get statistics and MicroProfile compatible metrics for observability over time.
- Quarkus extensions.
- APIs for programmatic usage and extensibility.
- Integration with Hibernate ORM, Spring Boot, JCache, and Wildfly.
HotRod Remote Protocol
- Language-independent, binary protocol for high-performance remote access to data.
- Client intelligence dynamically responds to cluster topology changes and requests data from primary owners.
- Implementations available in Java, C++, C#, and Python.
Expiration and Eviction
- Clean the data container and control memory usage.
- Create mortal entries with time limits for remaining in memory.
- Limit size of the data container based on the number of entries or amount of memory.
Persistent Cache Stores
- Store data both in memory and durable persistent locations.
- Cache stores available for File, RocksDB, JDBC, and more out of the box.
- Use write-through caching to eliminate expensive data requests for applications.
- Ensure data integrity with distributed transactions.
- Configure transactions with optimistic or pessimistic locking, synchronization, and different isolation levels.
- XA transactions with full recovery available.
- Ickle query language allows relational and full-text search with straightforward syntax.
- Create indexes of your data to improve search performance.
- Deploy local or clustered listeners to detect events.
- Get notifications when changes occur to the data store or Infinispan clusters.
- Run code across clusters to process data efficiently.
- Create server-side scripts and tasks.