键值存储的通用接口

indicium的Python项目详细描述


Documentation StatusBuild StatusCode Coverage

多个键值存储的pythonic统一api。

此基本包包括:

对附加存储系统的支持由单独分发的软件包提供:

  • indicium-git
  • indicium-ldap
  • indicium-leveldb(已计划,尚未提供)
  • indicium-memcache(已计划,尚未提供)。

用法

创建一个Store,将内容保存在磁盘上,使用JSON进行序列化, 并存储类似用户帐户的邮件:

fromindicium.baseimportSerializerimportjsonfilestore=Serializer(FSStore("./data",extension=".json"),pickle)filestore.put("/user/jdoe",{"id":"jdoe","name":"John Doe","email":"j@doe.org","password":"supersekrit"})account=filestore.get("/user/jdoe")assertaccount["email"]=="j@doe.org"

./data/user/jdoe.json将包含JSON格式的帐户数据。 下面将向上面的存储添加一个内存缓存,它可以容纳 100个元素,加速数据访问:

fromindicium.cacheimportLRUCachecachedstore=LRUCache(filestore,size=100)account=cachedstore.get("/user/jdoe")assertaccount["email"]=="j@doe.org"

一旦拥有对象集合,就可以运行use查询来检索所有对象 键与某个模式匹配的元素。例如,这将获得 用户帐户的标识符以存储区中的字母j开头 上图:

forkey,accountcachedstore.query("/user/j*"):print(account["id"],account["name"])

安装

所有稳定版本都上载到PyPI,因此 可以使用pip安装和升级它们:

pip install indicium

或者,您可以安装最新的开发代码-风险自负- 直接从git存储库:

pip install git://github.com/aperezdc/indicium

开发

如果您想参与,请使用常见的github工作流:

  1. 克隆存储库。
  2. 攻击你的克隆人
  3. 发送请求以供审阅

如果您没有编程技能,您仍然可以通过reporting issues贡献 遭遇。对文档的贡献也是非常受欢迎的

灵感

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

推荐PyPI第三方库


热门话题
java Admob不使用webview   Java Wicket表单:序列化对象类“myClassName”时出错   java googledriveapi更新文件与我的帐户管理员   java简单框架未知xml标记解析   java如何使用主类和用户获取Spark应用程序ID   java如何更改自定义属性的值?   java有没有办法在jMock中找到未使用的期望值?   gradle运行任务的java文档?   java通过使用数组来存储文本文件的行,通过覆盖来删除文本文件中的行   用于表达式语言注入的java利用负载   java IDEStyle程序运行   java在运行时启用/禁用Springws   爪哇芦苇。formatNumber NullPointException   java为什么我的代码无法检测两个动态实体之间的碰撞?