ConCache.isolated
You're seeing just the function
isolated
, go back to ConCache module for more information.
Specs
isolated(t(), key(), nil | pos_integer(), (-> any())) :: any()
Isolated execution over arbitrary lock in the cache.
You can do whatever you want in the function, not necessarily related to the cache. The return value is the result of the provided lambda.
This allows you to perform flexible isolation. If you use the key
of your item as a key
, then this operation will be exclusive to
updates. This can be used e.g. to perform isolated reads:
# Process A:
ConCache.isolated(:my_cache, :my_item_key, fn() -> ... end)
# Process B:
ConCache.update(:my_cache, :my_item, fn(old_value) -> ... end)
These two operations are mutually exclusive.