小编shi*_*cky的帖子

MongoDB Java Driver什么时候连接?

我正在为MongoDB使用最新的Java驱动程序(2.11.1).MongoDB Java API本质上是

  • MongoClient类的一个实例(带有内部连接池)
  • 获取DB对象的getDB()
  • 获取DBCollection对象的getCollection()

1)什么时候建立与db的连接?是在调用getDB()还是调用getCollection()时?

2)一次或每次需要调用getDB()会更好吗?(这有关系吗? - MongoClient保持DB对象缓存?)

3)通过多线程重用单个DBCollection对象或从多线程调用getCollection()会更好吗?(DBCollection缓存了吗?)

java mongodb mongodb-java

6
推荐指数
2
解决办法
3385
查看次数

Tornado,使用同步代码中的参数运行coroutine方法

根据网上的几个例子,为了运行用来自同步代码的tornado.gen.coroutine装饰的异步方法,你可以使用以下命令:

@tornado.gen.coroutine
def do_something():
   do_something

if __name__ == "__main__":
    tornado.ioloop.IOLoop.instance().run_sync(do_something)
Run Code Online (Sandbox Code Playgroud)

但是,如果你有coroutine方法的参数,有没有办法运行它?

arguments asynchronous tornado coroutine

3
推荐指数
1
解决办法
1213
查看次数

验证reflect.Type for int和float64的其他方法

在golang中,JSON消息中的数字总是被解析为float64.为了检测它是否实际上是整数,我用它reflect.TypeOf()来检查它的类型.不幸的是,没有代表的常数reflect.Type.

intType := reflect.TypeOf(0)
floatType := reflect.TypeOf(0.0)
myType := reflect.TypeOf(myVar)
if myType == intType {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

是否有更优雅的解决方案,而不是使用0或0.0来获得reflect.Type

reflection types casting go

2
推荐指数
1
解决办法
2532
查看次数