Skip to content

harikishan81001/redis-db

Repository files navigation

redis-db

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

redis-py

redis

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.

About

ORM for managing cache of django models using redis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages