maestrofjp / redis-astra

Python light ORM for Redis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyPI Version Build Status

redis-astra

Redis-astra is Python light ORM for Redis

Example:

import redis
from astra import models

db = redis.StrictRedis(host='127.0.0.1', decode_responses=True)

class SiteObject(models.Model):
    database = db
    name = models.CharHash()

class UserObject(models.Model):
    database = db
    name = models.CharHash()
    login = models.CharHash()
    site_id = models.ForeignKeyHash(to='SiteObject')
    sites_list = models.List(to='SiteObject')
    viewers = models.IntegerField()

So you can use it like this:

>>> user = UserObject(pk=1, name="Mike", viewers=5)
>>> user.login = 'mike@null.com'
>>> user.login
'mike@null.com'
>>> user.viewers_incr(2)
7
>>> site = SiteObject(pk=1, name="redis.io")
>>> user.site_id = site
>>> user.sites_list.lpush(site, site, site)
3
>>> user.sites_list.lindex(2).name
'redis.io'

Install

Python versions 3.3, 3.4, 3.5 are supported. Redis-py versions >= 2.9.1

pip install redis-astra

About

Python light ORM for Redis

License:MIT License


Languages

Language:Python 97.7%Language:Ruby 1.7%Language:Shell 0.6%