如何在Pylons应用程序中连接到Cassandra?

Pie*_*rre 10 python pylons cassandra

我创建了一个新的Pylons项目,并希望使用Cassandra作为我的数据库服务器.我打算使用Pycassa来使用cassandra 0.7beta.不幸的是,我不知道在哪里实例化连接以使其在我的应用程序中可用.

目标是:

  • 启动应用程序时创建池
  • 从池中获取每个请求的连接,并将其提供给我的控制器和库(在请求的上下文中).最好的方法是"懒洋洋地"从泳池中获取连接,即仅在需要时
  • 如果已使用连接,请在处理请求时将其释放

另外,我应该知道一些重要的事情吗?当我看到一些评论时,"使用带有use_threadlocal = True的QueuePool时要小心,特别是启用了重试.可能需要同步以防止连接在另一个线程正在使用时发生变化.",这究竟是什么意思?

谢谢.

- 皮埃尔

Pie*_*rre 2

出色地。我多干了一点。事实上,使用连接管理器可能不是一个好主意,因为这应该是模板上下文。此外,为每个线程打开一个连接并不是什么大问题。每个请求打开一个连接是。

我最终只pycassa.connect_thread_local()在 app_globals 中,然后就可以了。