Using oslo_cache lib the only way to compare some cached_value with NO_VALUE is to add bad import like 'from oslo_cache.backends.dictionary import NO_VALUE'. NO_VALUE is now added to core.py file and the improved import 'oslo_cache.core import NO_VALUE' will look much better in other projects. NO_VALUE is now public, it is added to __all__ and is used everywhere from core instead of dogpile.cache.api.NO_VALUE. Co-Authored-By: Sergey Nikitin <snikitin@mirantis.com> Change-Id: I8fea4a9eb088089289ba1dd35377fb10465c313a
55 lines
1.5 KiB
Python
55 lines
1.5 KiB
Python
# Copyright 2013 Metacloud
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from dogpile.cache import api
|
|
from oslo_cache import core
|
|
|
|
|
|
__all__ = [
|
|
'NoopCacheBackend'
|
|
]
|
|
|
|
_NO_VALUE = core.NO_VALUE
|
|
|
|
|
|
class NoopCacheBackend(api.CacheBackend):
|
|
"""A no op backend as a default caching backend.
|
|
|
|
The no op backend is provided as the default caching backend for keystone
|
|
to ensure that ``dogpile.cache.memory`` is not used in any real-world
|
|
circumstances unintentionally. ``dogpile.cache.memory`` does not have a
|
|
mechanism to cleanup it's internal dict and therefore could cause run-away
|
|
memory utilization.
|
|
"""
|
|
def __init__(self, *args):
|
|
return
|
|
|
|
def get(self, key):
|
|
return _NO_VALUE
|
|
|
|
def get_multi(self, keys):
|
|
return [_NO_VALUE for x in keys]
|
|
|
|
def set(self, key, value):
|
|
return
|
|
|
|
def set_multi(self, mapping):
|
|
return
|
|
|
|
def delete(self, key):
|
|
return
|
|
|
|
def delete_multi(self, keys):
|
|
return
|