ddb-cache
A simple interface for caching items in DynamoDB
Example Usage
Samples can be found here in the tests
The library can also be used for crud operations since it implement get, put, update, delete, scan and query. Along with create_backup.
Basic usage is as given below:
def test_put_cache(ddb_cache: DDBCache):
data = randint(1, 100) # noqa: S311
ddb_cache.put_cache({"id": "test_put_cache", "data": data})
item = ddb_cache.get_item({"id": "test_put_cache"})
assert item
assert item["id"] == "test_put_cache"
assert item["data"] == data
assert item["ttl"]
def test_put_cache_no_ttl(ddb_cache: DDBCache):
data = randint(1, 100) # noqa: S311
ddb_cache.put_cache({"id": "test_put_cache", "data": data}, with_ttl=False)
item = ddb_cache.get_item({"id": "test_put_cache"})
assert item
assert item["id"] == "test_put_cache"
assert item["data"] == data
with pytest.raises(KeyError):
item["ttl"]
def test_fetch_cache(ddb_cache: DDBCache, init_cache):
item = ddb_cache.get_item({"id": "test_fetch_cache"})
assert item
assert item["id"] == "test_fetch_cache"
assert item["data"] == "test_fetch_cache"
ttl = item["ttl"]
assert ttl
sleep(1)
item = ddb_cache.fetch_cache({"id": "test_fetch_cache"})
assert item
assert item["id"] == "test_fetch_cache"
assert item["data"] == "test_fetch_cache"
with pytest.raises(KeyError):
item["ttl"]
item = ddb_cache.get_item({"id": "test_fetch_cache"})
assert item
assert item["id"] == "test_fetch_cache"
assert item["data"] == "test_fetch_cache"
ttl2 = item["ttl"]
assert ttl2
assert ttl != ttl2
def test_fetch_cache_no_ttl_update(ddb_cache: DDBCache, init_cache):
item = ddb_cache.get_item({"id": "test_fetch_cache"})
assert item
assert item["id"] == "test_fetch_cache"
assert item["data"] == "test_fetch_cache"
ttl = item["ttl"]
assert ttl
item = ddb_cache.fetch_cache({"id": "test_fetch_cache"}, with_ttl=False)
assert item
assert item["id"] == "test_fetch_cache"
assert item["data"] == "test_fetch_cache"
with pytest.raises(KeyError):
item["ttl"]
item = ddb_cache.get_item({"id": "test_fetch_cache"})
assert item
assert item["id"] == "test_fetch_cache"
assert item["data"] == "test_fetch_cache"
ttl2 = item["ttl"]
assert ttl2
assert ttl == ttl2
Metadata
Release files for ddb-cache 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ddb-cache-0.6.0.tar.gz | 9.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ddb_cache-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.0 kB
Release files / ddb-cache-0.6.0.tar.gz
| Download URL | ddb-cache-0.6.0.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
79a4b58690209b73703175e4389adc43294016430934645ae949738a970f7e2e
|
|
BLAKE2b-256 checksum How to use checksums |
731322fe7afc4c0024266dd7f40053df696cb084ca5afa94fcd649b255ea2578
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.1.4 CPython/3.10.7
|
Release files / ddb_cache-0.6.0-py3-none-any.whl
| Download URL | ddb_cache-0.6.0-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
29b35c32b671274f112b2597553e5f78afd980c79cc4723854828af2bbba33c2
|
|
BLAKE2b-256 checksum How to use checksums |
63b29b999b265be9a5a2381904285a24a1c4119767fdb32b40b5dabd404c5fc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.1.4 CPython/3.10.7
|