Skip to main content

No project description provided

Project description

django-dynamodb-cache

Fast, safe, cost-effective DynamoDB cache backend for Django

Tests Coverage Package version Supported Python versions Supported django versions License

Introduce

This project is a cache backend using aws dynamodb.

This is compatible with the django official cache framework.

Did you set the boto3 permission?

Enter the django official command createcachetable and get started easily.

Why should I use this?

  • There are few management points, because dynamodb is a fully managed service.
  • Data is safely stored unlike inmemory db.
  • Because you only pay for what you use, it saves money on light projects such as side projects or back offices.
  • If you use it in a side project and the speed slows down due to increased usage, you can easily switch to DAX.

Installation

pip install django-dynamodb-cache

Setup on Django

On Django settings.py

INSTALLED_APPS = [
    ...
    "django_dynamodb_cache"
]

CACHES = {
    "default": {
        "BACKEND": "django_dynamodb_cache.backend.DjangoCacheBackend",
        "LOCATION": "table-name",                  # (mandatory)
        "TIMEOUT": 120,                            # (optional) seconds
        "KEY_PREFIX": "django_dynamodb_cache",     # (optional)
        "VERSION": 1,                              # (optional)
        "KEY_FUNCTION": "path.to.function",        # (optional) f"{prefix}:{key}:{version}"
        "OPTIONS": {
            "aws_region_name": "us-east-1",                    # (optional)
            "aws_access_key_id": "aws_access_key_id",          # (optional)
            "aws_secret_access_key": "aws_secret_access_key",  # (optional)
            "is_on_demand": False,                 # (optional) default: True
            "read_capacity_units": 1,              # (optional)
            "write_capacity_units": 1,             # (optional)
            "encode": "django_dynamodb_cache.encode.PickleEncode"  # (optional)
        }
    }
}

Aws credentials

The same method as configuring-credentials provided in the boto3 documentation is used. https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#configuring-credentials

Create cache table command

Run manage command to create cache table on Dynamodb before using

python manage.py createcachetable

How to contribute

This project is welcome to contributions!

Please submit an issue ticket before submitting a patch.

Pull requests are merged into the main branch and should always remain available.

After passing all test code, it is reviewed and merged.

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-dynamodb-cache-0.3.0.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_dynamodb_cache-0.3.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file django-dynamodb-cache-0.3.0.tar.gz.

File metadata

  • Download URL: django-dynamodb-cache-0.3.0.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.12 Linux/5.13.0-1017-azure

File hashes

Hashes for django-dynamodb-cache-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f8019b76542973ada2cc1481be53c575efc2c566d9422fb958802e67dcb927fc
MD5 5d03191ef5e6ba99a639d7abe01a1a15
BLAKE2b-256 741a34e7ac3d4efdfa3adda1ad6d10ca58fc3bc299496c65b811441f6273e27c

See more details on using hashes here.

File details

Details for the file django_dynamodb_cache-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_dynamodb_cache-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9178fe5c04ac14a86a3aff205ef9af3a2a0b62e0fad8e464e6bf508978e0c958
MD5 4b6407fc8f096742bc270021ba9ba52c
BLAKE2b-256 c64ad95293c60aa74f98b9787dd49d89ee9977cf5885a6e27583636b8144b375

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page