Metadata-Version: 2.1
Name: credis
Version: 2.0.2
Summary: high performance redis client implemented with cython
Home-page: https://github.com/yihuang/credis
License: MIT
Author: yihuang
Author-email: yi.codeplayer@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Database
Requires-Dist: hiredis (>=2.2.3,<3.0.0)
Project-URL: Repository, https://github.com/yihuang/credis
Description-Content-Type: text/x-rst

minimal redis client written in cython, 5X faster than redis-py.

Tutorial
========

execute command
---------------

.. code-block:: python

    >>> from credis import Connection
    >>> conn = Connection(host='127.0.0.1', port=6379)
    >>> conn.execute('set', 'test', 1)
    'OK'
    >>> conn.execute('get', 'test')
    '1'

execute pipelined commands
--------------------------

.. code-block:: python

    >>> commands = [('set', 'test%d'%i, i) for i in range(3)]
    >>> conn.execute_pipeline(*commands)
    ('OK', 'OK', 'OK')

connection pool for gevent
--------------------------

.. code-block:: python

    >>> from credis.geventpool import ResourcePool
    >>> pool = ResourcePool(32, Connection, host='127.0.0.1', port=6379)
    >>> with pool.ctx() as conn:
    ...     conn.execute('get', 'test')
    '1'
    >>> pool.execute('get', 'test')
    '1'
    >>> commands = [('get', 'test%d'%i) for i in range(3)]
    >>> pool.execute_pipeline(*commands)
    ('1', '2', '3')

