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


Download files

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

Source Distribution

Redis-DB-0.1.5.tar.gz (3.7 kB view details)

Uploaded Source

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

Hashes for Redis-DB-0.1.5.tar.gz
Algorithm Hash digest
SHA256 d8f84cbe26f9ae33f072e00e764c2eff3d0c33ee75b2851505ee6b18b0d3e07e
MD5 2f68e11154e43190335ac52cd6eeb9eb
BLAKE2b-256 728dd0253b2b5ee0c030107522b7537446a7606a1a60d6331eb424f5ade05574

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