Skip to main content

Redis cache for managing Django ORM

Project description

ORM for managing cache of django models using redis. Models data can be cached just once and as per requirements it can be fetched using filters.

No-Sql in retrieval of model objects.

Dependencies:

[django >=1.3](https://www.djangoproject.com/)

[redis-py](https://github.com/andymccurdy/redis-py)

[redis](http://redis.io/)

User Manual :

from redis_db.manager import CacheManager

class Person(models.Model):

“”” Person model, contains basic details. “”” name = models.CharField(max_length = 255) email = models.EmailField(max_length = 100) gender = models.ChoiceField(choices = ((‘M’, ‘Male’), (‘F’, ‘Female’)))

#custom managers objects = models.Manager() cache_objects = CacheManager(key = ‘person-cache’)

Creating Cache Data (one time process)

qs = Person.objects.all() Person.cache_objects.store(qs) # qs can be anything, filtered queryset or model object itself

Retrieving Objects from cache (No-SQL)

1- All objects

objs = Person.cache_objects.all() # returns list of Person Objects. Note - Gives back list not queryset,
# because querysets itself is lazy query

2 - Filters usage

objs = Person.cache_objects.filter(gender = ‘M’) # all male Person’s Objects

3 - Get a specific object based on id

obj = Person.cache_objects.get(id= 10)

Note :

For non reference objects there is no query at all but in case of ForiegnKey retreival it makes a query to get that object.

Project details


Release history Release notifications

Download files

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

Files for Redis-DB, version 0.1.5
Filename, size File type Python version Upload date Hashes
Filename, size Redis-DB-0.1.5.tar.gz (3.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page