Skip to content

Instantly share code, notes, and snippets.

@shazow
Last active December 18, 2015 08:29
Show Gist options
  • Save shazow/5754021 to your computer and use it in GitHub Desktop.
Save shazow/5754021 to your computer and use it in GitHub Desktop.
I want a Python key namespace utility that lets me do things like this...
# Import from an imaginary package I wish existed...
from keyspace import KeySpace, Key, Prefix
class MyKeys(KeySpace):
prefix_users = Prefix('u')
user_set = Key('users')
KEYS = MyKeys(prefix='prod', delim=':')
asset KEYS.prefix_users('shazow') == 'prod:u:shazow'
asset KEYS.user_set == 'prod:users'
def add_user(redis_client, username, data):
redis_client.set(KEYS.prefix_users(username), data)
redis_client.add(KEYS.user_set, username)
# BONUS:
def add_user(redis_client, username, data):
model = MyKeys(redis_client, ...)
model.prefix_users(username).set(data)
model.user_set.add(username)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment