cacheout模块

本文介绍了Python缓存库cacheout的使用方法,包括快速安装、缓存类型(如FIFO、LRU等)、线程安全、监听事件、生存周期、存储方式等特性,并展示了如何设置、获取、删除缓存以及管理多个缓存实例。
摘要由CSDN通过智能技术生成

1.强制的最大缓存限制

2.线程安全

3.有几种实现形式

  • FIFO (First In, First Out):对应的FIFOCache,和Cache是一样的
  • LIFO (Last In, First Out):LIFOCache
  • LRU (Least Recently Used):LRUCache
  • MRU (Most Recently Used):MRUCache
  • LFU (Least Frequently Used): LFUCache
  • RR (Random Replacement):RRCache

4.支持监听增删改事件

5.分层缓存

6.Python3.7以上才能使用

7.缓存具有生存周期(TTL time to live)

8.缓存的存储是基于字典

9.查询和删除支持字符串,正则表达式,函数等方式过滤

1.快速使用

安装:pip install cacheout

使用:

from cacheout import Cache

cache = Cache()

默认最大size = 256,TTL默认关闭,默认使用time.time模块计时,单位是秒。对于不存在的key,默认返回值是None。 默认的Cache是FIFO缓存。 默认缓存设置可以使用如下值:default指全局默认值。

cache = Cache(maxsize=256, ttl=0, timer=time.time, default=None)  # defaults

ttl指的是缓存生命周期,默认单位是秒,cache的timer有关系。ttl=0表示不失效。 maxsize=0或者为None,缓存就没有大小的限制。

  • 设置值:cache.set(1, ‘foobar’),cache.set(3, {‘data’: {}}, ttl=1)
  • 获取值:cache.get(1) ,cache.get(2, default=False),cache.get(2, default=lambda key: key)
  • 删除缓存:cache.delete(1)
  • 清除整个缓存:cache.clear()
  • 复制缓存:cache.copy() == {1: ‘foobar’, 2: (‘foo’, ‘bar’, ‘baz’)}
  • 批量设置缓存:cache.set_many(), cache.get_many(),cache.delete_many()
  • 获取所有key:assert list(cache.keys()) == [‘a’, ‘b’, ‘c’]
  • 获取所有value:assert list(cache.values()) == [1, 2, 3]
  • 获取所有的item:assert list(cache.items()) == [(‘a’, 1), (‘b’, 2), (‘c’, 3)]
  • 迭代缓存:for key in cache:
  • 校验key是否存在:cache.has() ,key in cache
  • 删除失效的缓存:delete_expired(),并返回删除的数目。
cache.set_many({
   'a': 1, 'b': 2, 'c': 3}) 

assert cache.get_many
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值