python对象的缓存后端系统

pussycache的Python项目详细描述


python pussy cache
==python pussy cache是python对象的一个缓存系统。

cache backend可以在内存中或redis/甚至可以将django
缓存框架与python pussy cache一起使用。

python pussy cache将缓存您定义的方法的结果,还将根据时间戳或您定义的方法来管理缓存失效。

[![构建状态](https://secure.travis-ci.org/novapost/python-pussycache.png?branch=master)(https://travis ci.org/novapost/python pussycache)
[![Python猫](https://pypip.in/v/pussycache/badge.png)(https://crate.io/packages/pussycache/)
[![python pussycache](https://pypip.in/d/pussycache/badge.png)(https://crate.io/packages/pussycache/)



下面是一个示例,它可以让事情变得更清楚
``python
import time
from pussycache.proxy import baseproxy
from pussycache.cache import basecachebackend
缓存的类myClass(对象):

def a_long_task(self,delta):
时间。睡眠(delta)
返回delta

def忘记时间(self):
返回none


cached_methods=[“a_long_task”],
invalidate_methods={“forget_about_time”:[“a_long_task”]})


cachedinstance=cache_proxy
您的cachedinstance现在可以使用了。它的工作方式就像一个普通的MyClass对象一样


>打印缓存位置。如果我们第二次调用相同的方法:
>打印缓存位置。如果我们第二次调用相同的方法,则10秒后的一个长任务(10)将立即返回结果,因为它在缓存中,而打印缓存位置。如果我们第二次调用相同的方法,则10秒后的一个长任务(10)将立即返回结果,因为它在缓存中,但
>打印缓存位置。一个长任务(3)将立即返回结果,因为它在缓存中,但打印缓存位置。但是,打印缓存位置。一个长任务(3)将立即返回结果,因为它在缓存中,但
3
3
3
3
3 br/>不同的参数,结果尚未缓存。
如果要使此方法的缓存无效:
打印cachedinstance.forget_about_time()
打印cachedinstance.a_long_task(10)
10秒后
10
````

当然,如果需要直接访问缓存后端,可以直接调用它。假设您需要使所有缓存失效:

`` python

````

>如果您需要直接调用缓存,同样适用:

`` python
cachedinstance.\u cache.set(“mykey”,“my value”,10)
cachedinstance.\\ u cache.get(“mykey”)
“我的值”
10秒后:
cachedinstance.\\ u cache.get(“mykey”)
值从缓存中消失
````


测试
----


要运行测试,只需使用“pip install tox”安装tox,然后运行

tox

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java读取SSLSocket的最快或最佳方式   JavaGuice向类构造函数注入对象   java类不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(视图)   java OpenGL 1.1更改颜色更改以前的颜色?   c#将Java/Android连接到。网络服务   java在节点上生成AES密钥   java Liferay与MarkLogic XDBC数据库集成   java使用静态初始化块来提高性能   java如何在需要不同参数的另一个方法中使用同一类中的方法   音频Java多种声音   Java显式引用转换   java Intellij,如何在maven项目中导入模块   java在什么条件下调用ELResolver的setValue方法?   java在beanshell中计算代码字符串并获取beanshell解释器返回的值   javascript将音频文件上载到服务器并从服务器响应设置图像   编码风格清理java代码,多个else if语句   java是否需要使此变量可变?   java线程未更新GlassPane上的进度条   java关闭调试模式@Vaadin Spring启动应用程序