Skip to main content

Mo-Cache

PyPI PyPI - Downloads PyPI - Python Version PyPI - License

a simple cache lib support memory、file、redis

Github: https://github.com/mouday/mo-cache

install

pip install mo-cache

demo

快速开始

from mo_cache import MemoryCache

cache = MemoryCache()


# 此时的key默认是函数名 foo
@cache
def foo(a, b):
    return a + b

if __name__ == '__main__':
    foo()

更多示例

1、使用装饰器

# 主动设置key, 过期时间单位:秒s
@cache(key='custom_key', expire=30)
def foo(a, b):
    return a + b

2、主动设置和获取

cache.set(key='custom_key', value='value', expire=30)

value = cache.get(key='custom_key')

MemoryCache, FileCache, RedisCache实现了共同的接口(set/get/call),

只是构造参数稍有不同

from mo_cache import MemoryCache, FileCache, RedisCache

memory_cache = MemoryCache()

file_cache = FileCache(cache_dir='cache')

redis_cache = RedisCache(redis_url='redis://localhost:6379/0')

继承体系

class CacheAbstract(object):
    """统一的接口"""
    def set(self, key, value, expire=-1):
        pass

    def get(self, key):
        pass

class CacheDecorator(CacheAbstract):
    """cache 装饰器"""
    def __call__(self, key=None, expire=-1):
        pass

class MemoryCache(CacheDecorator):
    """内存缓存"""

class FileCache(CacheDecorator):
    """文件缓存"""

class RedisCache(CacheDecorator):
    """Redis 缓存"""

Metadata

Release files for mo-cache 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mo-cache 0.0.8
File Size Uploaded
mo-cache-0.0.8.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mo-cache 0.0.8
File Interpreter ABI Platform
mo_cache-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 13.1 kB

Release files / mo-cache-0.0.8.tar.gz

Download URL mo-cache-0.0.8.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3fd1561dca04a8f780b50ca55d1d4ea66aa989405872ac7a638b50f98e3e8f87
BLAKE2b-256 checksum
How to use checksums
b720f9a90499a89827cf892f47e175d57494ed83987ab3c5d242b473d85eeffc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.0

Release files / mo_cache-0.0.8-py3-none-any.whl

Download URL mo_cache-0.0.8-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51dececac4db8a51daa38abf9cde951822ee2796ed5d35c422a6f0ce935cd06d
BLAKE2b-256 checksum
How to use checksums
c3f126689a304c84b631464790d5a87a0da69e4eecfc3c657fb8e5b1ba66aa9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page