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 | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Redis-DB-0.1.5.tar.gz
.
File metadata
- Download URL: Redis-DB-0.1.5.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8f84cbe26f9ae33f072e00e764c2eff3d0c33ee75b2851505ee6b18b0d3e07e |
|
MD5 | 2f68e11154e43190335ac52cd6eeb9eb |
|
BLAKE2b-256 | 728dd0253b2b5ee0c030107522b7537446a7606a1a60d6331eb424f5ade05574 |