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 multiprocessing.Lock on write operations of shared memory dict set environment variable SHARED_MEMORY_USE_LOCK=1
.
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.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 809d2cb271651767140d4d1935080a5b20f4b4103c68a208ad3533a6327d33da |
|
MD5 | da9008848a931cb4715b79cfed384599 |
|
BLAKE2b-256 | e6e92743b07e91a8fbc0e8c90afdc20eab71758e0f96602443da121743daf794 |