A very simple shared memory dict implementation
Project description
Shared Memory Dict
A very simple shared memory dict implementation.
Requires: Python >= 3.8
>> from shared_memory_dict import SharedMemoryDict
>> smd = SharedMemoryDict(name='tokens', size=1024)
>> smd['some-key'] = 'some-value-with-any-type'
>> smd['some-key']
'some-value-with-any-type'
The arg
name
defines the location of the memory block, so if you want to share the memory between process use the same name
Installation
Using pip
:
pip install shared-memory-dict
Locks
To use uwsgidecorators.lock on write operations of shared memory dict set environment variable SHARED_MEMORY_USE_UWSGI_LOCK
.
Django Cache Implementation
There's a Django Cache Implementation with Shared Memory Dict:
# settings/base.py
CACHES = {
'default': {
'BACKEND': 'shared_memory_dict.caches.django.SharedMemoryCache',
'LOCATION': 'memory',
'OPTIONS': {'MEMORY_BLOCK_SIZE': 1024}
}
}
This implementation is very based on django LocMemCache
Install with: pip install "shared-memory-dict[django]"
AioCache Backend
There's also a AioCache Backend Implementation with Shared Memory Dict:
From aiocache import caches
caches.set_config({
'default': {
'cache': 'shared_memory_dict.caches.aiocache.SharedMemoryCache',
'size': 1024,
},
})
This implementation is very based on aiocache SimpleMemoryCache
Install with: pip install "shared-memory-dict[aiocache]"
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
Built Distribution
Hashes for shared_memory_dict-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d56dd0d002b61a39bd5befc260815a4c1162f1aa47f25c54f5307d26abf431a |
|
MD5 | c8f5b23289a63bce2eec23840ab1fa18 |
|
BLAKE2b-256 | 4d5e6621c03246cd5d1c3c70bc7bca552edc390b41865ed8f1590381527a8677 |