Skip to main content

Object-Key Mapper for Redis

Project description

Object-Key Mapper for Redis

If you’ve used redis on python, you’ve had to deal with redis keys. Sometimes, lots of redis keys. With so many keys, it’s easy to make mistakes, especially since keys are just strings. I built ok so that I didn’t have to work with strings for redis keys.

Here’s how you use it:

import ok
import redis


class User(ok.Key):
    fields = ['timeline', 'followers', 'following']


# Get user mixxorz' timeline
r = redis.StrictRedis()
r.zrevrange(User('mixxorz').timeline, 0, 50)
# ZREVRANGE User:mixxorz:timeline 0 50

Managing your keys just became a lot less fragile.

Installation

Install it from pypi

$ pip install ok-redis

Usage

Access fields.

class User(ok.Key):
    fields = ['timeline', 'followers', 'following']


print(User('mixxorz').timeline)
# User:mixxorz:timeline

Chain keys.

class City(ok.Key):
    fields = ['tweets_hll']


class Country(ok.Key):
    subkeys = [City]


print(Country('PH').City('Manila').tweets_hll)
# Country:PH:City:Manila:tweets

Subkeys can be an absolute or relative path to a key.

# mod_one.py
class Refer(Key):
    fields = ['elements']


# mod_two.py
class Parent(Key):
    subkeys = ['..mod_one.Refer']


print(Parent('foo').Refer('bar').elements)
# Parent:foo:Refer:bar:elements

Access the class key.

class User(ok.Key):
    pass


print(User('mixxorz').key)
# User:mixxorz

IDs are optional.

class User(ok.Key):
    fields = ['rankings']


print(User().rankings)
# User:rankings

You can change the string used for the key.

class Facebook(ok.Key):
    fields = ['all_posts']
    class_key = 'fb'


print(Facebook().all_posts)
# fb:all_posts

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ok-redis-0.1.0.tar.gz (3.4 kB view details)

Uploaded Source

File details

Details for the file ok-redis-0.1.0.tar.gz.

File metadata

  • Download URL: ok-redis-0.1.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ok-redis-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8d1824380610702ee4e1803d79e76c75e393810e434d133a9881c3d079f42c85
MD5 6018132ea89a989d00d2f9af284dc777
BLAKE2b-256 b5f5d0127acc78f0c132da170c1c0cff6c7feae94bbc35cba1712abb3649f828

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page