Skip to content

Instantly share code, notes, and snippets.

@k4ml
Created April 17, 2011 23:26
Show Gist options
  • Save k4ml/924593 to your computer and use it in GitHub Desktop.
Save k4ml/924593 to your computer and use it in GitHub Desktop.
Key/value store wrapper to redis
import redis
class KVStore:
def __init__(self, prefix, host='localhost', port=6379, **params):
self._prefix = prefix
self._db = redis.Redis(host=host, port=port)
def _get_prefix(self, key):
return '%s:%s' % (self._prefix, key)
def set(self, key, value):
prefix = self._get_prefix(key)
self._db.set(prefix, value)
def get(self, key, value):
prefix = self._get_prefix(key)
item = self._db.get(prefix)
if item:
return item
return None
def set_set(self, key, value):
prefix = self._get_prefix(key)
self._db.sadd(prefix, value)
def get_set(self, key, as_list=True):
prefix = self._get_prefix(key)
items = self._db.smembers(prefix)
if len(items) > 0:
if as_list:
return list(items)
return items
return None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment