Yosai的缓存集成
yosai-dpcache的Python项目详细描述
#yosai dpcache:“dogpile”缓存集成
啊![](/img/cache_bw.png)
这是一个Yosai集成,使用了一个由Mike Bayer编写的dogpile项目的分支。
dogpile项目由两个子项目组成:dogpile.core和dogpile.cache。 yosai_dpcache是这些项目的一个分支,它将基于pickle的序列化替换为 Yosai支持的序列化,并进行了一些其他定制。
##序列化
啊![](/img/serialization_process.png)
yosai使用marshmallow库将对象还原为可序列化的形式, 使用msgpack、json或其他编码方案对“reductions”进行编码,然后缓存 物体。
从缓存中获取的对象被反序列化为它们的简化形式,然后 重新具体化为Yosai对象。
##安装
使用pip从pypi安装yosaidpcache:pip install yosai_dpcache
##设置
yosaidpcache.dpcachehandler可以通过以下两种方式之一进行配置:
- 选项1:yaml配置文件
- 定义一个系统环境变量yosai_cache_settings,它指向 cache_settings.yaml文件的位置,并确保该文件 权限使其可读。
- 实例化不带参数的dpcachehandler。
- 选项2:实例化dpcachehandler,传递all所需的
- 参数(有关详细信息,请参见cachehandler.py和settings.py)
##开发状态(从YosaidPCache v0.0.5起)
###redis已准备好使用
只实现了redis支持并进行了特别测试。
###单元测试挂起
Yosai的综合测试包括Yosaidpcache和Yosaidpcache 包括在自动化测试中。然而,Yosaidpcache需要自己的 涵盖其定制的单元测试。