Cache Abstraction Layer for multiple backends

Registered by Flavio Percoco

Provide an abstract class for managing multiple cache backends that can be used in projects needing a cache system.

I.E:

class BaseCache(object):
    passs

class Memcache(BaseCache):
    passs

class Redis(BaseCache):
    passs

def get_cache(....):
    """Gets from configs the cache backend to use"""

Could be imported like:

from openstack.common import cache

cache.get_cache()

Blueprint information

Status:
Complete
Approver:
Mark McLoughlin
Priority:
High
Drafter:
Flavio Percoco
Direction:
Approved
Assignee:
Flavio Percoco
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Mark McLoughlin
Completed by
Flavio Percoco

Related branches

Sprints

Whiteboard

https://review.openstack.org/#/q/status:open+project:openstack/oslo-incubator+branch:master+topic:cache-backend-abstraction,n,z

Gerrit topic: https://review.openstack.org/#q,topic:cache-backend-abstraction,n,z

Addressed by: https://review.openstack.org/32544
    Implement cache abstraction layer

Addressed by: https://review.openstack.org/42878
    Memcached backend for Oslo's cache

Retargeting this for i-2, since we're ironing out some questions about the API. - dhellmann

I updated the work items and pulled memcached out of there. I'll create and approve a bp for it.

(?)

Work Items

Work items:
CREATE API: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.