[id='cache-configuration']
:context: cache-configuration
= {brandname} cache configuration

Cache configuration controls how {brandname} stores your data.

As part of your cache configuration, you declare the cache mode you want to use.
For instance, you can configure {brandname} clusters to use replicated caches or distributed caches.

Your configuration also defines the characteristics of your caches and enables the {brandname} capabilities that you want to use when handling data.
For instance, you can configure how {brandname} encodes entries in your caches, whether replication requests happen synchronously or asynchronously between nodes, if entries are mortal or immortal, and so on.

include::{topics}/con_declarative_cache_configuration.adoc[leveloffset=+1]
include::{topics}/ref_infinispan_caches.adoc[leveloffset=+2]
include::{topics}/proc_adding_cache_configuration_templates.adoc[leveloffset=+1]
include::{topics}/proc_creating_caches_templates.adoc[leveloffset=+2]
include::{topics}/con_cache_template_inheritance.adoc[leveloffset=+2]
include::{topics}/con_cache_template_wildcards.adoc[leveloffset=+2]
include::{topics}/con_cache_template_xinclude.adoc[leveloffset=+2]
include::{topics}/con_cache_aliases.adoc[leveloffset=+1]

// Restore the parent context.
ifdef::parent-context[:context: {parent-context}]
ifndef::parent-context[:!context:]
