当前位置: 首页 > 工具软件 > wrapcache > 使用案例 >

python 装饰器实现缓存_一个基于Python装饰器的缓存库 wrapcache ・ GitHub

翁俊良
2023-12-01

Here's an example of how you might use wrapcache: import wrapcache

from time import sleep

import random

@wrapcache.wrapcache(timeout = 3)

def need_cache_function(input, t = 2, o = 3):

sleep(2)

return random.randint(1, 100)

if __name__ == "__main__":

for i in range(10):

sleep(1)

print(need_cache_function(1, t = 2, o = 3))

#get cache Programmatic

key_func = wrapcache.keyof(need_cache_function, 1, o = 3, t = 2)

print(wrapcache.get(key_func))

#remove cache Programmatic

print(wrapcache.remove(wrapcache.keyof(need_cache_function, 1, o = 3, t = 2)))

How to Install and Use?

Install

Three way to install:

1. Use tool install

easy_install wrapcacheor

pip install wrapcache / pip3 install wrapcache2. Download to install

Download from https://pypi.python.org/pypi/wrapcache/ , and run python setup.py install .3. Manual installation

Manual installation: Put wrapcache folder into current directory or site-packages , then import wrapcache to use.Usage

Decorators import wrapcache

@wrapcache.wrapcache(timeout = 3)

def need_cache_function():

return 'hello wrapcache'

API

wrapcache.keyof(func, *args, **kws): get the key of function output cache.

wrapcache.get(key, adapter = MemoryAdapter): get the value of cache.wrapcache.set(key, value, adapter = MemoryAdapter): set cache use code.wrapcache.remove(key, adapter = MemoryAdapter): remove a cache.wrapcache.flush(adapter = MemoryAdapter): clear all the cache.The API 2~5, need to input a adapter to set which db to flush.TODO

add redis and memcache supported.

package to pip server.

 类似资料: