keystone.common.cache.core module

Keystone Caching Layer Implementation.

class keystone.common.cache.core.DistributedInvalidationStrategy(region_manager)[source]

Bases: RegionInvalidationStrategy

invalidate(hard=None)[source]

Region invalidation.

CacheRegion propagated call. The default invalidation system works by setting a current timestamp (using time.time()) to consider all older timestamps effectively invalidated.

is_hard_invalidated(timestamp)[source]

Check timestamp to determine if it was hard invalidated.

Returns:

Boolean. True if timestamp is older than the last region invalidation time and region is invalidated in hard mode.

is_invalidated(timestamp)[source]

Check timestamp to determine if it was invalidated.

Returns:

Boolean. True if timestamp is older than the last region invalidation time.

is_soft_invalidated(timestamp)[source]

Check timestamp to determine if it was soft invalidated.

Returns:

Boolean. True if timestamp is older than the last region invalidation time and region is invalidated in soft mode.

was_hard_invalidated()[source]

Indicate the region was invalidated in hard mode.

Returns:

Boolean. True if region was invalidated in hard mode.

was_soft_invalidated()[source]

Indicate the region was invalidated in soft mode.

Returns:

Boolean. True if region was invalidated in soft mode.

class keystone.common.cache.core.RegionInvalidationManager(invalidation_region, region_name)[source]

Bases: object

REGION_KEY_PREFIX = '<<<region>>>:'
invalidate_region()[source]
is_region_key(key)[source]
property region_id
keystone.common.cache.core.configure_cache(region=None)[source]
keystone.common.cache.core.configure_invalidation_region()[source]
keystone.common.cache.core.create_region(name)[source]

Create a dopile region.

Wraps oslo_cache.core.create_region. This is used to ensure that the Region is properly patched and allows us to more easily specify a region name.

Parameters:

name (str) – The region name

Returns:

The new region.

Return type:

dogpile.cache.region.CacheRegion

keystone.common.cache.core.get_memoization_decorator(group, expiration_group=None, region=None)[source]
keystone.common.cache.core.key_mangler_factory(invalidation_manager, orig_key_mangler)[source]