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)
  • 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 ;-)
  • 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)
  • unittests are autonomous (it runs a server)
  • 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 for one year : 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.

Files for redys, version 0.9.6
Filename, size File type Python version Upload date Hashes
Filename, size redys-0.9.6-py2.py3-none-any.whl (5.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size redys-0.9.6.tar.gz (4.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page