python的一个缓存包cacheout

今天遇到一个问题,其实我可以把获取的数据全部放到 redis里面并且性能更好,但是redis里面有类似的数据,本来key的形式就有点复杂,我就不想设计了,想到python有一个类似go语言的包,能把后端服务器自身的内存作为缓存,然后找到了这个包叫:cacheout,实现数据缓存。
首先说一下,这个包只能用在python3里面
然后安装:pip install cacheout就行

这个包只是简单的存一些东西,就是为了简单玩玩用的,如果要真正使用,就还是需要用redis的。
首先用Cache创建一个对象my_cache,如果需要可以设置一些参数,比如可以缓存的数据总量:maxsize 过期时间:ttl(和redis差不多)

my_cache有以下函数:

点进去看源码拿到这个工具的所有函数:

key:获取所有键
values:获取所有值
iteams :获取所有对象
clear:清空数据
has:检查一个key是不是存在,并且是否过期。如果不存在或者已经过期返回false
size: 返回数据总量
full: 返回缓存是否满了
get(self, key, default=None)
get_many(self, iteratee, default=None)
add(self, key, value, ttl=None)
add_many(self, items, ttl=None)
set(self, key, value, ttl=None)
set_many(self, items, ttl=None)
delete(self, key)
delete_many(self, iteratee)
delete_expired(self):删除已过期的数据,返回删除的个数
expired(self, key, expires_on=None):返回是否过期
expire_times(self):返回缓存中数据的ttl时间
evict(self):已被收回的缓存数据
popitem(self):和python里面的pop一样
memoize(self, *, ttl=None, typed=False):缓存一个函数,当然包括其参数,当再次调用该函数并且传入相同的参数时,直接调用缓存数据。

差不多就这些个函数。能满足少量数据的一些要求吧。再说一次,东西就是玩玩,实际开发还是用redis。

这个链接里面有一些方法的使用:
Python缓存神奇库cacheout全解

你可能感兴趣的:(python)