RethinkDB之初体验
2016-05-29 22:30
253 查看
官网
python api
NoSQL
分布式
高可用性
最大的特点就是时实。
它采取一个新的访问数据库的模型,用监听事件的方式来通知数据的变化。而不是轮训的方式。
以python为例:
上面的代码意思就是在exampletable的colname变化为value时,就进行通知。没有变化之前,一直会是阻塞的。filter里也可以填自定义的函数。具体的可看filter的用法。
上面的代码,对数据库和表的增删,对表中数据的增删改查。
函数的结构基本上是前面操作对像,后面操作行为。
注意每次操作后要加一个run(),不然是不生效的。
python api
RethinkDB是什么?
开源NoSQL
分布式
高可用性
最大的特点就是时实。
它采取一个新的访问数据库的模型,用监听事件的方式来通知数据的变化。而不是轮训的方式。
以python为例:
import rethinkdb as r conn = r.connect('127.0.0.1', db='exampledb') r.table('exampletable').filter(r.row['colname']=='value').changes() # do the thing when change
上面的代码意思就是在exampletable的colname变化为value时,就进行通知。没有变化之前,一直会是阻塞的。filter里也可以填自定义的函数。具体的可看filter的用法。
数据库的基本操作
import rethinkdb as r def example(): # create db dbname='example' conn = r.connect('127.0.0.1',db=dbname) conn.repl() # db api if dbname not in r.db_list().run(): r.db_create(dbname).run() print "create OK" print "dblist:",r.db_list().run() else: r.db_drop(dbname).run() print "drop OK" print "dblist:",r.db_list().run() # table api tablename='exampletable' db = r.db('test') if tablename not in db.table_list().run(): db.table_create(tablename).run() print "create table :",tablename print "table list:",db.table_list().run() else: db.table_drop(tablename).run() print "drop table:",tablename print "table list:",db.table_list().run() # writing data if tablename not in db.table_list().run(): db.table_create(tablename).run() table = db.table(tablename) table.insert({'id':'xxx','value':'xxxvalue'}).run() table.get('xxx').update({'value':'valuexxx'}).run() res = table.filter({'value':'valuexxx'}).run() print "filter query:" for t in res: print t table.get('xxx').delete().run() example()
上面的代码,对数据库和表的增删,对表中数据的增删改查。
函数的结构基本上是前面操作对像,后面操作行为。
注意每次操作后要加一个run(),不然是不生效的。
webUI
默认的会在8080端口开一个WebUI,来可视化数据。比如数据查看器:
这个数据查看器,有强大的自动补全功能:
当前资源概要:
显示了每秒的读写次数。相关文章推荐
- Python使用RethinkDB总结
- 动态数据源@四种实现方案对比
- rethinkdb安装
- 安装rethinkDB所遇问题
- 美团点评云真机平台实践
- Docker安装openstf
- Android学习笔记之LayoutInflater的inflate方法中的ViewGroup root 参数理解
- 【白帽子讲web安全】关于XSS,CSRF,SQL注入
- drawable下的非图片资源之sharp
- ZooKeeper 笔记(6) 分布式锁
- php函数ob_start()、ob_end_clean()、ob_get_contents()
- 小菜鸟初始java项目出错解决思路
- C++中父类成员变量和子类成员变量重复定义及访问方法的深入探究
- POJ3169 Layout
- Surprise团队第三周项目总结
- 主元素问题 减治法
- MySQL常用SQL整理
- 使用Agera,gson,okhttp获取豆瓣读书数据
- Linux系统设置静态IP地址
- WIN10中运行ASP项目出错