Skip to main content

a simple tool for making caching functions, methods, and class methods a little bit easier.

Project description

django-cache-helper

  PyPI Test Suite Coverage Status

Overview

django-cache-helper is a simple tool for making caching functions, methods, and class methods a little bit easier. It is largely based off of django-cache-utils, however, since cache-utils did not support caching model methods by instance and carried other features I didn't need, django-cache-helper was created.

In order to cache and invalidate a function/method/class_method/static_method:

Support

Python
3.7, 3.8, 3.9, 3.10

How to Cache

# Caching a function
@cached(60*60)  # 60 Minutes
def foo(bar):
	return bar

class Incrementer:

    @cached_instance_method(60 * 60)
    def instance_increment_by(self, num):
        return num

    @classmethod
    @cached_class_method(60 * 60)
    def class_increment_by(cls, num):
        return num

    @staticmethod
    @cached(60 * 60)
    def get_datetime():
        return datetime.utcnow()

How to invalidate a cache

foo(1)
foo.invalidate(1)

Incrementer.instance_increment_by(1)
Incrementer.instance_increment_by.invalidate(1)

Incrementer.class_increment_by(1)
Incrementer.class_increment_by.invalidate(1)

Incrementer.get_datetime()
Incrementer.get_datetime.invalidate()

Contributors ✨

Thanks goes to these wonderful people.

Kevin Fox
Kevin Fox
Tom Jakeway
Tom Jakeway
Ara Anjargolian
Ara Anjargolian
Hyuckin David Lim
Hyuckin David Lim
James
James

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

django_cache_helper-1.0.7.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

django_cache_helper-1.0.7-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file django_cache_helper-1.0.7.tar.gz.

File metadata

  • Download URL: django_cache_helper-1.0.7.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.9

File hashes

Hashes for django_cache_helper-1.0.7.tar.gz
Algorithm Hash digest
SHA256 698681d26321adad73f6aa38c343b770d997a017f01a701682d33da984243b0d
MD5 d0ef79b96675dceaf3a60301036a115e
BLAKE2b-256 013cd781a47aba792c130866048113a7712b518b8836efdb18785db9e39e88c6

See more details on using hashes here.

File details

Details for the file django_cache_helper-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for django_cache_helper-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 777ddece6813eafbae644919e335483792b8602dfd1f35ef5f28921d558d32f4
MD5 8e218814601f6219822824d6809f0d12
BLAKE2b-256 85a1455ac88d336606c2010bf9e721886d150ee3e152a07d4e50983e1ff44d22

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