我有要求在後端開發一個使用金字塔和cassandra的web應用程序。我已經足夠搜索瞭解如何在金字塔中配置cassandra(使用鍊金術腳手架)。但是,我無法找到相同的細節。根據我的搜索,我發現使用鍊金術來配置NoSQL類數據庫是不可能的。有沒有什麼方法可以將cassandra與金字塔結合起來。如何使用SQLAlchemy配置Cassandra與金字塔?
2
A
回答
0
你只需要連接到您的卡桑德拉集羣應用程序啓動並註冊在請求中的會話:
app.models.__init__.py
def includeme(config):
def get_session():
from cassandra.cluster import Cluster
cluster = Cluster('your.cluster.ip')
return cluster.connect()
config.add_request_method(
lambda request: get_session,
'dbsession',
reify=True)
應用.__ init__:
def main(global_config, **settings):
config = Configurator(settings=settings)
config.include('app.models')
然後你可以在你的視圖中使用cassandra會話通過調用request.dbsession
,例如是這樣的:
request.dbsession.execute('SELECT name, email FROM users')
0
在使用的SQLAlchemy與卡桑德拉此刻是不可能原因SQLAlchemy的生成SQL代碼和卡桑德拉查詢建立CQL。
關於將金字塔與Cassandra數據庫連接我有一個類似於@matino發佈的例子,但也包含一個完成的回調,因此所有連接都在請求結束時關閉。我app.__init__.py的
例子:
from cassandra.cluster import Cluster
from cassandra.io.libevreactor import LibevConnection
def main(global_config, **settings):
"""
... MORE CONFIG CODE ...
"""
# Retrieves connection to Cassandra (Non SQL database)
def get_cassandra(request):
cluster = Cluster(['127.0.0.1'], port=9042)
cluster.connection_class = LibevConnection
def disconnect(request):
cluster.shutdown()
session = cluster.connect('app')
session.row_factory = dict_factory
request.add_finished_callback(disconnect)
return session
config.add_request_method(get_cassandra, 'cassandra', reify=True)
"""
... MORE CONFIG CODE ...
"""
這當然工作雖然說實話,我不知道這是最好的方案,因爲每一次我們執行語句:
request.cassandra.execute('SELECT * FROM users')
它將經歷整個過程:創建集羣,定義連接,連接,執行語句和關閉集羣。 我不知道這是否是更好的方法...
相關問題
- 1. 如何配置金字塔+ uWSGI + SQLAlchemy的
- 2. 在SQLAlchemy和金字塔中使用unicode
- 3. 的Unicode與金字塔,SQLAlchemy的
- 4. 金字塔和.ini配置
- 5. Pymongo和金字塔配置
- 6. 設置金字塔使用MySQL原始代替SQLAlchemy
- 7. 如何在金字塔中使用SQLAlchemy HSTORE?
- 8. 如何使用SQLAlchemy的事件金字塔
- 9. 如何使用SQLAlchemy,自動加載和金字塔?
- 10. 原始MySQL與SQLAlchemy使用金字塔框架
- 11. 的SQLAlchemy /金字塔DBSession刷新問題
- 12. 顯示對象的金字塔/ SQLAlchemy
- 13. 金字塔配置加載錯誤
- 14. 如何使用php創建金字塔?
- 15. 使用芹菜與金字塔和mod_wsgi
- 16. 使用HTMLFill與金字塔的@view_config
- 17. Python金字塔與字母
- 18. 如何確保與uWSGI和金字塔
- 19. 金字塔與reCaptcha:如何實施?
- 20. 使用金字塔和SQLAlchemy上傳圖片
- 21. 使用SQLAlchemy創建金字塔會話時發生DetachedInstanceError
- 22. 在金字塔框架中使用Mysql和SqlAlchemy
- 23. 在金字塔中使用金字塔認證
- 24. 如何在金字塔
- 25. Turbomail與金字塔集成
- 26. AngularJS形式與金字塔
- 27. 如何配置金字塔來查找MongoDB主副本
- 28. 如何配置金字塔的JSON編碼?
- 29. 金字塔
- 30. 金字塔subrequests