重新思考数据库python库

doublethink的Python项目详细描述


https://travis-ci.org/internetarchive/doublethink.svg?branch=master

双重思考

重新思考数据库python库。提供连接管理器和orm框架 (对象关系映射,有时对于nosql数据库称为odm或om)。

连接管理器

三个主要目的:

  • 数据库服务器之间的循环连接
  • 确保连接在适当的时间关闭
  • 失败时重试可重试的查询

当前不是连接池,因为它不保持任何连接打开。 应该可以在不更改api的情况下实现连接池。 然而,测试表明,从 连接池。

用法示例
import doublethink
rr = doublethink.Rethinker(['db0.foo.com', 'db0.foo.com:38015', 'db1.foo.com'], 'my_db')
rr.table('mytable').insert({'foo':'bar','baz':2}).run()
for result in rr.table('mytable'):
    print("result={}".format(result))

orm

简单而强大的orm系统。不强制实施架构。

用法示例
import doublethink

rr = doublethink.Rethinker(['db0.foo.com', 'db0.foo.com:38015', 'db1.foo.com'], 'my_db')

class MyTable(doublethink.Document):
    pass
MyTable.table_create(rr)

doc1 = MyTable(rr, {'animal': 'elephant', 'size': 'large'})
doc1.save()

doc1_copy = MyTable.load(rr, doc1.id)
doc1_copy.food = 'bread'
doc1_copy.save()

doc1.first_name = 'Frankworth'
doc1.save()

doc1.refresh()

服务注册

现在还有一个serviceregistry类,一个轻量级的服务解决方案 发现分布式服务。在中维护服务信息和状态 一个称为“服务”的重新思考数据库表。

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

推荐PyPI第三方库


热门话题
arraylist IndexOutOfBoundsException预防措施不起作用[Java]   java在多个字段上设置唯一约束   java Sonar没有显示测试覆盖范围   java有没有一种直接从我的应用程序发送反馈的方法?   java如何将字符串中的两个值相加?   优先级队列Java TreeSet使用的内存是否比PriorityQueue少?   java如何合并两个参数相同的XML文件?   java RxJava过期订阅   编译器优化反编译工具修改的源代码。java中的类文件   Java Swing GUI按钮和文本字段不会出现。这是一个包含Jbutton和JTextField的测试代码   java如何在stringBuilder中存储日志   swing获取Java中的屏幕大小   使用PDFBox和Swing显示嵌入式字体的java   在Java中打印1到100之间的小数字   数据结构如何在Java中创建数组、ArrayList、堆栈和队列?   java Hibernate onetomany外键   java如何从Groovy中没有“${str}”的字符串创建GString   在Android Studio(java)中创建巨大网格   Java中如何将字符串值转换为布尔值