A simple cache for Django functions and methods
Project description
# django-elephant
[![Build Status](https://travis-ci.org/jairhenrique/django-elephant.svg)](https://travis-ci.org/jairhenrique/django-elephant)
[![PyPI version](https://badge.fury.io/py/django-elephant.svg)](https://badge.fury.io/py/django-elephant)
[![codecov.io](https://codecov.io/github/jairhenrique/django-elephant/coverage.svg?branch=master)](https://codecov.io/github/jairhenrique/django-elephant?branch=master)
[![Code Issues](https://www.quantifiedcode.com/api/v1/project/03084631935244baa8335617d6502d11/badge.svg)](https://www.quantifiedcode.com/app/project/03084631935244baa8335617d6502d11)
*django-elephant is a simple wrapper to cache responses of Django methods or functions*
## Setup
```bash
pip install django-elephant
```
## Usage
#### Basic:
```python
from elephant import memorize
@memorize()
def foo(bar):
return bar
```
#### Set cache configuration:
```python
from django.core.cache import caches
from elephant import memorize
other_cache = caches['other_cache']
@memorize(
cache=other_cache
)
def foo(bar):
return bar
```
#### Set cache timeout:
```python
from elephant import memorize
@memorize(
timeout=1987
)
def foo(bar):
return bar
```
#### Set cache key:
```python
from elephant import memorize
def my_custom_key(function, *args, **kwargs):
return '{}.{}'.format(
'elephant_'
function.__name__
)
@memorize(
cache_key=my_custom_key
)
def foo(bar):
return bar
```
## Requirements
- Django>=1.5
## Contribute
- Fork and make a pull request!
[![Build Status](https://travis-ci.org/jairhenrique/django-elephant.svg)](https://travis-ci.org/jairhenrique/django-elephant)
[![PyPI version](https://badge.fury.io/py/django-elephant.svg)](https://badge.fury.io/py/django-elephant)
[![codecov.io](https://codecov.io/github/jairhenrique/django-elephant/coverage.svg?branch=master)](https://codecov.io/github/jairhenrique/django-elephant?branch=master)
[![Code Issues](https://www.quantifiedcode.com/api/v1/project/03084631935244baa8335617d6502d11/badge.svg)](https://www.quantifiedcode.com/app/project/03084631935244baa8335617d6502d11)
*django-elephant is a simple wrapper to cache responses of Django methods or functions*
## Setup
```bash
pip install django-elephant
```
## Usage
#### Basic:
```python
from elephant import memorize
@memorize()
def foo(bar):
return bar
```
#### Set cache configuration:
```python
from django.core.cache import caches
from elephant import memorize
other_cache = caches['other_cache']
@memorize(
cache=other_cache
)
def foo(bar):
return bar
```
#### Set cache timeout:
```python
from elephant import memorize
@memorize(
timeout=1987
)
def foo(bar):
return bar
```
#### Set cache key:
```python
from elephant import memorize
def my_custom_key(function, *args, **kwargs):
return '{}.{}'.format(
'elephant_'
function.__name__
)
@memorize(
cache_key=my_custom_key
)
def foo(bar):
return bar
```
## Requirements
- Django>=1.5
## Contribute
- Fork and make a pull request!
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
django-elephant-1.0.0.tar.gz
(5.0 kB
view details)
Built Distribution
File details
Details for the file django-elephant-1.0.0.tar.gz
.
File metadata
- Download URL: django-elephant-1.0.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 003c4a5f2660556a417602a93108b5240b2a2b30aa95bcba8c1d081097510a9d |
|
MD5 | 4ad6d5003283c7fd9bf655a927ce6b0b |
|
BLAKE2b-256 | fade899335080c19eaff39722830b1cb061c1e995b965ab13c52dc10b6b6b248 |
File details
Details for the file django_elephant-1.0.0-py2.py3-none-any.whl
.
File metadata
- Download URL: django_elephant-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fb8c7babc19d65b75d884ee8bdfa8871cc64b98c68e15c96ff889ffe193345a |
|
MD5 | 009dd89baaf8dca7aaba907c195308a3 |
|
BLAKE2b-256 | 5d7fc794639e4f5b77d769e48b082f94eb3febead030592db41571df9eff8536 |