Amazon DynamoDB as a cache store.
Project description
Description
Amazon DynamoDB as a cache store.
Requirements
- Python2.7
- pip
Installation
PyPI
pip install ddbc
Setup
- Create IAM Role or User
Policy example:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:CreateTable", "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:<region>:<account-id>:table/<cache-table>" } ] }
- Create the DynamoDB table for cache
Script Example:
#!/usr/bin/env python import ddbc.utils ddbc.utils.create_table( table_name='cache_table', region='us-east-1', # optional read_units=10, # default: 5 write_units=10 # default: 5 )
Usage
import ddbc.cache import time cache = ddbc.cache.Client( table_name='cache_table', region='us-east-1', # optional default_ttl=100, # default: -1 (Infinity) report_error=True # default: False ) cache['foo'] = 'bar' print(cache['foo']) # => 'bar' time.sleep(100) print(cache['foo']) # => None cache.set('foo', 'bar', 1000) time.sleep(100) print(cache['foo']) # => 'bar' del cache['foo'] print(cache.get('foo', 'buz')) # => 'buz'
Development
- Source hosted at GitHub
- Report issues/questions/feature requests on GitHub Issues
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:
- Fork the repo
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Added some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
License
MIT License (see LICENSE)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Built Distribution
ddbc-0.1.0-py2-none-any.whl
(6.6 kB
view hashes)