A simple cache for Django functions and methods
Project description
# django-elephant
[](https://travis-ci.org/jairhenrique/django-elephant)
[](https://badge.fury.io/py/django-elephant)
[](https://codecov.io/github/jairhenrique/django-elephant?branch=master)
[](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!
[](https://travis-ci.org/jairhenrique/django-elephant)
[](https://badge.fury.io/py/django-elephant)
[](https://codecov.io/github/jairhenrique/django-elephant?branch=master)
[](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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|