Python异步缓存库——aiocache

简介

aiocache 支持多种后端(内存,Redis,Memcached)。

aiocache 的目标是简化而不是特殊化,所有缓存包含相同的最小接口,功能包括:

  • add: 仅在键不存在时添加键/值。
  • get: 检索由键标识的值。
  • set: 设置键/值。
  • multi_get: 检索多个键/值。
  • multi_set: 设置多个键/值。
  • exists:如果键存在,返回True,否则返回False。
  • increment: 递增存储在给定键中的值。
  • delete: 删除键并返回已删除项的数目。
  • clear: 清除存储的项目。
  • raw: 使用基础客户端执行指定的命令。




安装

根据情况安装:

  • pip install aiocache
  • pip install aiocache[redis]
  • pip install aiocache[memcached]
  • pip install aiocache[redis,memcached]
  • pip install aiocache[msgpack]




初试

计算 35 项斐波那契数列。

不加缓存:12s
加缓存:0.009s

import time
import asyncio
from aiocache import cached


@cached(ttl=3600)
async def fib(n):
    if n < 2:
        return n
    return await fib(n - 1) + await fib(n - 2)


async def main():
    beg = time.time()
    result = [await fib(i) for i in range(35)]
    end = time.time()
    print(result)
    print(end - beg)
    # 不加缓存 11.77s
    # 加缓存 0.009s


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())




参考文献

  1. Asynchronous Caching with Python
  2. aiocache: Asyncio cache manager for redis, memcached and memory
  3. Python高速缓存和会话库——Beaker
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XerCis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值