Socket
Socket
Sign inDemoInstall

async-cache

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Protect your apps from supply chain attacks

Install

async-cache

An asyncio Cache

    1.1.1

Maintainers
1

Readme

async-cache
===========
:info: A caching solution for asyncio

.. image:: https://travis-ci.org/iamsinghrajat/async-cache.svg?branch=master
    :target: https://travis-ci.org/iamsinghrajat/async-cache
.. image:: https://img.shields.io/pypi/v/async-cache.svg
    :target: https://pypi.python.org/pypi/async-cache
.. image:: https://www.codetriage.com/iamsinghrajat/async-cache/badges/users.svg
    :target: https://pypi.python.org/pypi/async-cache


Installation
------------

.. code-block:: shell

    pip install async-cache

Basic Usage
-----------

.. code-block:: python
    
    # LRU Cache
    from cache import AsyncLRU
    
    @AsyncLRU(maxsize=128)
    async def func(*args, **kwargs):
        """
        maxsize : max number of results that are cached.
                  if  max limit  is reached the oldest result  is deleted.
        """
        pass
    
    
    # TTL Cache
    from cache import AsyncTTL
    
    @AsyncTTL(time_to_live=60, maxsize=1024)
    async def func(*args, **kwargs):
        """
        time_to_live : max time for which a cached result  is valid
        maxsize : max number of results that are cached.
                  if  max limit  is reached the oldest result  is deleted.
        """
        pass

    # Supports primitive as well as non-primitive function parameter.
    # Currently TTL & LRU cache is supported.

Advanced Usage
--------------

.. code-block:: python
    
    class CustomDataClass:
        id: int
        value: int
        
    
    from cache import AsyncLRU
    
    @AsyncLRU(maxsize=128)
    async def func(model: "CustomDataClass"):
        ...
        # function logic
        ...
    
    # async-cache will work even if function parameters are:
    #   1. orm objects
    #   2. request object
    #   3. any other custom object type.

Keywords

FAQs


Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc