Skip to main content

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 !

on pypi/redys

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/decr
  • sets commands : sadd/srem
  • queue commands : rpush/lpush/rpop/lpop
  • pubsub commands : subscribe/unsubscribe/get_event & publish
  • cache commands : setex
  • ping() 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


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)

Uploaded Source

Built Distribution

redys-0.9.20-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

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

Hashes for redys-0.9.20.tar.gz
Algorithm Hash digest
SHA256 0117097a96596675dd5c3d7e878b2288079fdd05dc1a1d97cbac225f79f21bb1
MD5 2922ecf3658cc466aa88c5fb63aafd37
BLAKE2b-256 df7f31d92c44603dbde5d50871b3c064cf7aba2701ecf23f5a12bba505fff367

See more details on using hashes here.

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

Hashes for redys-0.9.20-py3-none-any.whl
Algorithm Hash digest
SHA256 28446b995a77d759e238e5b8deef6fd7e9d50a3eb796323eff1b2317bb74f5ff
MD5 4dcc3a9900dbe11acc2c6a7ab143fa11
BLAKE2b-256 6239ec86648ce43de5f99b3efb01b5516158d46d9233898a89940c850267bae6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page