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
classicscommands : get/set/delete/keys & incr/decrsetscommands : sadd/sremqueuecommands : rpush/lpush/rpop/lpoppubsubcommands : subscribe/unsubscribe/get_event & publishcachecommands : 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|