Caching Deserialized Values
There may be cases where you do not want to deserialize some values in your Hazelcast map again which were already deserialized previously.
This way your query operations get faster.
This is possible by using the
cache-deserialized-values element in your declarative Hazelcast configuration, as shown below.
<hazelcast> ... <map name="myMap"> <in-memory-format>BINARY</in-memory-format> <cache-deserialized-values>INDEX-ONLY</cache-deserialized-values> <backup-count>1</backup-count> </map> ... </hazelcast>
hazelcast: map: myMap: in-memory-format: BINARY cache-deserialized-values: INDEX-ONLY backup-count: 1
cache-deserialized-values element controls the caching of deserialized values.
Note that caching makes the query evaluation faster, but it consumes more memory. This element has the following values:
NEVER: Deserialized values are never cached.
INDEX-ONLY: Deserialized values are cached only when they are inserted into an index.
ALWAYS: Deserialized values are always cached.
If you are using portable serialization or your map’s in-memory format is
cache-deserialized-values element does not have any effect.