All Projects → thefab → Tornadis

thefab / Tornadis

Licence: mit
async minimal redis client for tornado ioloop designed for performances (use C hiredis parser)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tornadis

Tornado Celery
Non-blocking Celery client for Tornado
Stars: ✭ 561 (+345.24%)
Mutual labels:  async, tornado
Yii2 Queue
Yii2 Queue Extension. Supports DB, Redis, RabbitMQ, Beanstalk and Gearman
Stars: ✭ 977 (+675.4%)
Mutual labels:  async, redis
Arq
Fast job queuing and RPC in python with asyncio and redis.
Stars: ✭ 695 (+451.59%)
Mutual labels:  async, redis
Zapi
基于swoole的异步轻量级api框架,内部封装全套mysql、redis、mongo、memcached异步客户端,可以轻松start、reload、stop,加入数据库的查询模块,框架已经封装好近乎同步写法,底层异步调用。现已支持异步mysql、异步redis、异步http请求.
Stars: ✭ 245 (+94.44%)
Mutual labels:  async, redis
Memento
Fairly basic redis-like hashmap implementation on top of a epoll TCP server.
Stars: ✭ 74 (-41.27%)
Mutual labels:  async, redis
Predis Async
Asynchronous PHP client library for Redis built on top of ReactPHP
Stars: ✭ 354 (+180.95%)
Mutual labels:  async, redis
Pyproxy Async
基于 Python Asyncio + Redis 实现的代理池
Stars: ✭ 123 (-2.38%)
Mutual labels:  async, redis
Zhttp
基于swoole的异步轻量级web框架,内部封装协程异步非阻塞全套mysql、redis、mongo、memcached连接池,可以轻松start、reload、stop,加入数据库的查询模块,框架已经封装好近乎同步写法,底层异步调用
Stars: ✭ 131 (+3.97%)
Mutual labels:  async, redis
Redisgo Async
RedisGo-Async is a Go client for Redis, both asynchronous and synchronous modes are supported,its API is fully compatible with redigo.
Stars: ✭ 60 (-52.38%)
Mutual labels:  async, redis
Rq
Simple job queues for Python
Stars: ✭ 8,065 (+6300.79%)
Mutual labels:  async, redis
Gidgethub
An async GitHub API library for Python
Stars: ✭ 226 (+79.37%)
Mutual labels:  async, tornado
Redis
Async Redis Client for PHP based on Amp.
Stars: ✭ 107 (-15.08%)
Mutual labels:  async, redis
Arsenic
Async WebDriver implementation for asyncio and asyncio-compatible frameworks
Stars: ✭ 209 (+65.87%)
Mutual labels:  async, tornado
Groupco
PHP的服务化框架。适用于Api、Http Server、Rpc Server;帮助原生PHP项目转向微服务化。出色的性能与支持高并发的协程相结合
Stars: ✭ 473 (+275.4%)
Mutual labels:  async, redis
Mobc
A generic connection pool for Rust with async/await support
Stars: ✭ 141 (+11.9%)
Mutual labels:  async, redis
Fennel
A task queue library for Python and Redis
Stars: ✭ 24 (-80.95%)
Mutual labels:  async, redis
Pychat
webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing
Stars: ✭ 152 (+20.63%)
Mutual labels:  redis, tornado
Async Redis
First class async & promise support for redis.
Stars: ✭ 128 (+1.59%)
Mutual labels:  async, redis
Spring Boot
spring-boot 项目实践总结
Stars: ✭ 989 (+684.92%)
Mutual labels:  async, redis
Fastapi Plugins
FastAPI framework plugins
Stars: ✭ 104 (-17.46%)
Mutual labels:  async, redis

tornadis

Status (master branch)

Travis Coverage Status Code Health License Maturity Maintenance

What is it ?

tornadis is an async minimal redis client for tornado ioloop designed for performance (uses C hiredis parser).

WARNING : tornadis is considered in beta quality (API can change)

Features

  • simple
  • good performances
  • coroutine friendly
  • production ready (timeouts, connection pool, error management)
  • nearly all redis features (pipeline, pubsub, standard commands)
  • autoconnection, autoreconnection
  • Python2 (>=2.7) and Python3 (>=3.2) support
  • Tornado >=4.2 (in master branch) and Tornado 4.1 + toro (in tornado41 branch) support

Not implemented

  • cluster support

Example

# Let's import tornado and tornadis
import tornado
import tornadis


@tornado.gen.coroutine
def talk_to_redis():
    # let's (re)connect (autoconnect mode), call the ping redis command
    # and wait the reply without blocking the tornado ioloop
    # Note: call() method on Client instance returns a Future object (and
    # should be used as a coroutine).
    result = yield client.call("PING")
    if isinstance(result, tornadis.TornadisException):
        # For specific reasons, tornadis nearly never raises any exception
        # they are returned as result
        print "got exception: %s" % result
    else:
        # result is already a python object (a string in this simple example)
        print "Result: %s" % result


# Build a tornadis.Client object with some options as kwargs
# host: redis host to connect
# port: redis port to connect
# autoconnect=True: put the Client object in auto(re)connect mode
client = tornadis.Client(host="localhost", port=6379, autoconnect=True)

# Start a tornado IOLoop, execute the coroutine and end the program
loop = tornado.ioloop.IOLoop.instance()
loop.run_sync(talk_to_redis)

Full documentation

Full documentation is available at http://tornadis.readthedocs.org

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].