KDB+ - 技术教程文章

如何在Java中重新建立丢失的KDB连接【代码】

在我的Java应用程序中,我正在使用以下方法建立KDB连接private void initConnection() throws KException, IOException {conn = new c(host, port);conn.tz = TimeZone.getTimeZone(CONNECTION_TIMEZONE); }然后,我使用conn成功地在表中异步插入数据. KDB服务器每周重新启动一次,当时服务器重置了连接,我收到了java.net.SocketException异常.使用上述异常,我可以再次建立丢失的连接,但这不是一个不错的解决方案,因为我丢失了批处理等...

如何使用rethinkdb JavaScript驱动程序更新嵌套数组【代码】

我检查了其他相关问题,尤其是this one.但是,由于已回答该问题,因此似乎在重新考虑对嵌套字段has changed的处理. 我正在尝试修改嵌套数组“ amy”和“ joe”:{"id": "blah" ,"schedules": {"amy": ['some', 'stuff', 'here'],"joe": ['more', 'stuff', 'here']} }我尝试了各种不同的方法,但是无法在一次调用数据库的情况下使它工作.相反,我必须使用一个调用来获取现有数组:r.table('whatevs').get('blah').pluck({schedules: {am...

我如何使用python防止rethinkdb上的重复记录【代码】

我只想在以前没有记录的情况下将记录插入到表中,例如我有一个表用户,而我只想添加具有电话号码的唯一用户{"name":"john smith", "Age":30 , "phone_number": "556"}如果要添加另一个具有相同电话号码的用户,我将无法添加它们.现在,我正在尝试使用过滤器来确定我是否已有该电话号码的记录r.db(DB).table('users').filter({'phone_number': new_practice['phone_number']}, default=r.error()).run(conn)这就是我尝试使用该方法...

rql从javascript中的密钥rethinkdb列表中获取多个文档【代码】

我有一个“人”数据表,它有一个唯一的键“id”.我有一个id列表,我想要获取我将作为JSON数组从客户端发送到服务器的数据.服务器将该数据作为JSON数组接收. 现在有一种方法可以运行查询来获取每个ID的文档吗? 或者是我自己解析id并构建一个结果数组的唯一选择,然后将该数组发回. 到目前为止我已经尝试过使用…… > getAll – 但我不能让它工作,因为它接受动态数量的参数,我不知道如何将我的数组值更改为动态数量的参数. (例子……我...

java – KDB不区分大小写,如查询【代码】

SELECT * FROM MarketTable WHERE customer LIKE "ABC"这只返回ABC.我希望这可以返回ABC,aBC,abc等. 在kDB中有没有接近ILIKE的东西? 甚至像lower或tolowercase这样的功能也会有所帮助,但我认为这些功能都不可用.在java中我们有string.tolowercase.解决方法: q)t:([] b:1 2 3; a:("abC";"aBc";"AbC")) q)t b a ------- 1 "abC" 2 "aBc" 3 "AbC"q)select from t where upper[a] like "ABC" b a ------- 1 "abC" 2 "aBc" 3 "AbC"q)se...

python – RethinkDB:​​连接多少?

我在python中开始使用rethinkdb,并查看不同的方法: >使用线程阻止方法>使用Tornado进行非阻塞,基于回调的方法>基于Greenlet的方法与gevent 在第一种情况下,自然要做的是给每个线程一个连接对象.然而,在第二和第三种情况下,我并不完全明白. 随着龙卷风和gevent,我应该如何以及何时建立联系?我应该有多少人?解决方法:如果您使用的是非阻塞库,则RethinkDB 2.0中的一个连接就足够了(在2.0之前,每个连接并行性较少).但是,每个连接的开...

Linux-在KDB后台进程停止中输入结果【代码】

我在Linux服务器上运行Kx Q process 我注意到,当我运行此命令时,在我的shell上按下return / enter之后,该进程停止./kdb/q/l32/q -p 1234 &但是,如果我在前台运行它…./kdb/q/l32/q -p 1234它会打开一个q)提示,提示您按回车/回车不会使其退出 我想知道是否按Enter键导致进程停止与Kx有关,还是与Linux有关? 任何建议表示赞赏解决方法:您应该使用nohup在后台执行命令.例如nohup ./kdb/q/l32/q -p 1234 &