Storage
This is the manual for older MicroStream versions (Version < 5.0).
The new documentation (Version >= 5.0) is located at:
https://docs.microstream.one/
MicroStream's storage can be used as a backing store for the cache. It functions as a CacheWriter as well as a CacheReader, depending on the writeThrough and readThrough configuration. Per default it is used for both.
Copy EmbeddedStorageManager storageManager = EmbeddedStorage . start ();
CachingProvider provider = Caching . getCachingProvider ();
CacheManager cacheManager = provider . getCacheManager ();
CacheConfiguration < Integer , String > configuration = CacheConfiguration
. Builder ( Integer . class , String . class , "my-cache" , storageManager)
. build ();
Cache < Integer , String > cache = cacheManager . createCache ( "jCache" , configuration);
If you prefer an external configuration, you can link the storage configuration :
cache-config.properties
Copy keyType = java.lang.Integer
valueType = java.lang.String
readThrough = true
writeThrough = true
storageConfigurationResourceName = microstream-storage.properties
microstream-storage.properties
Copy baseDirectory = ~/cache-data
channelCount = 4
Or you can embed the storage configuration using the storage.
prefix:
Copy keyType = java.lang.Integer
valueType = java.lang.String
readThrough = true
writeThrough = true
storage.baseDirectory = ~/cache-data
storage.channelCount = 4
Spring example:
application.properties
Copy spring.jpa.properties.hibernate.cache.microstream.missing_cache_strategy = create
spring.jpa.properties.hibernate.cache.microstream.readThrough = true
spring.jpa.properties.hibernate.cache.microstreamwriteThrough = true
spring.jpa.properties.hibernate.cache.microstream.storage.baseDirectory = ~/cache-data
spring.jpa.properties.hibernate.cache.microstream.storage.channelCount = 4
spring.jpa.properties.hibernate.cache.region.factory_class = one.microstream.cache.hibernate.CacheRegionFactory
spring.jpa.properties.hibernate.cache.use_query_cache = true
spring.jpa.properties.hibernate.cache.use_second_level_cache = true
application.yml
Copy spring :
jpa :
properties :
hibernate :
cache :
microstream :
missing_cache_strategy : create
readThrough : true
writeThrough : true
storage :
baseDirectory : ~/cache-data
channelCount : 4
region :
factory_class : one.microstream.cache.hibernate.CacheRegionFactory
use_query_cache : true
use_second_level_cache : true