Tornado API缓存的实用程序,函数计时器。
do-utils的Python项目详细描述
实用程序
实用程序是为通用而写的。
do_时间
func timer-使用decorator计算func时间
- 用法:
fromdo_utilsimportdo_time@do_time()defdo_print():printlen([xforxinxrange(10000)])classA(object):@do_time(func=False)defdo_print(self):printlen([xforxinxrange(10000)])
缓存
在Tornado服务器中缓存获取请求URL处理程序
do_cache: do cahche for request with uri & user & params cache_key include (protocol, host_name, path, md5(current_user, params)) cache_expire depend on kwargs expire, the default is 5*60s cache from write_buffer that have not flushed wrote by self.write() and will be flush if cache is none: get data & return data & do cache else: return cache do_api_cache: do cache for api handler if status_code == 200: do_cache do_temp_cache: do cache for template handler
- 用法:
fromdo_utilsimportdo_api_cache,do_temp_cacheclassApiHandler(object):@do_api_cache(10)defget(self):print'get api'@do_temp_cache(10,with_user=False)defget(self):print'get template'
更改历史记录
- v0.0.1
do utils do api/template cache for tornado server with redis
- v0.0.2
bugfix for install_requires cannot using 'requirements.txt' add prefix for cache_key: 'cache:'
- v0.0.3
bugfix for Python3 and dependence