A simple redis-like in pure python3, fully asyncio compliant
Project description
redys
A simple redis-like in pure python3, fully asyncio/thread/process compliant !
features
- asyncio compliant
- client Sync (Client) & Async (AClient)
- 100% tested on all platforms ("3.7", "3.8", "3.9", "3.10", "3.11" on ubuntu-latest, macos-latest, windows-latest) NEW
- very quick
classics
commands : get/set/delete/keys & incr/decrsets
commands : sadd/sremqueue
commands : rpush/lpush/rpop/lpoppubsub
commands : subscribe/unsubscribe/get_event & publishcache
commands : setexping()
command ;-)KILL()
command (so a client can kill the server) NEW- exchange everything that is pickable (except None)
- raise real python exception in client side
- minimal code size
- works well on GAE Standard (2nd generation/py37)
- just in-memory !
why ?
Redis is great, but overbloated for my needs. Redys is simple, you can start the server side in an asyncio loop, and clients can interact with a simple in-memory db. Really useful when clients are in async/threads/process(workers)/multi-hosts world, to share a unique source of truth.
nb
- The sync client (
Client
) use threads, so it can't live in the same loop as the server (Server
). It's better to use it in another thread or process. - The async client (
AClient
) can live in the same loop as the server (Server
), but don't forget to await each methods (which are coroutines in async version) - Not fully/concurrency tested. Use at own risk ;-)
- See tests for examples
BTW, I use it in production since 2018: and no problems at all !!!! (it works as excepted)
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
redys-0.9.20.tar.gz
(8.0 kB
view details)
Built Distribution
File details
Details for the file redys-0.9.20.tar.gz
.
File metadata
- Download URL: redys-0.9.20.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.2 Linux/6.2.0-1012-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0117097a96596675dd5c3d7e878b2288079fdd05dc1a1d97cbac225f79f21bb1 |
|
MD5 | 2922ecf3658cc466aa88c5fb63aafd37 |
|
BLAKE2b-256 | df7f31d92c44603dbde5d50871b3c064cf7aba2701ecf23f5a12bba505fff367 |
File details
Details for the file redys-0.9.20-py3-none-any.whl
.
File metadata
- Download URL: redys-0.9.20-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.2 Linux/6.2.0-1012-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28446b995a77d759e238e5b8deef6fd7e9d50a3eb796323eff1b2317bb74f5ff |
|
MD5 | 4dcc3a9900dbe11acc2c6a7ab143fa11 |
|
BLAKE2b-256 | 6239ec86648ce43de5f99b3efb01b5516158d46d9233898a89940c850267bae6 |