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.3.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

django_cache_helper-1.0.3-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file django-cache-helper-1.0.3.tar.gz.

File metadata

  • Download URL: django-cache-helper-1.0.3.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for django-cache-helper-1.0.3.tar.gz
Algorithm Hash digest
SHA256 acb1c94a5ef64152e9ec3221b02292528ed0b364752ea9efb3cd5ef9f2d9f80a
MD5 d3d0cfdcb6e765b6d3521cf7105526a7
BLAKE2b-256 5a93b327de95cc7e0bbbd8cf6b5141f309509d56a6add5b3438f9b14f19fd11a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_cache_helper-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e8c1ce414cf15c127d2b00f6946fe7c421147f8eb618da9acfb3811a7df77b1a
MD5 9ea217f2bb92abd8ed306713ca701137
BLAKE2b-256 8267a329e6662853cc70361ffffe4a2a8be788be91a13ea04c8434d3f69e47fe

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