首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Redis与SQLAlchemy集成

问如何将Redis与SQLAlchemy集成
EN

Stack Overflow用户
提问于 2010-12-01 20:36:42
回答 2查看 13.1K关注 0票数 15

我正在学习如何将连接到SQL数据库的SQLAlchemy用于12个标准关系表(例如SQLite或PostgreSQL)。但是,我想使用Redis和Python来处理几个表,特别是Redis的快速集合操作。我知道Redis是NoSQL的,但是我能不能把它和SQLAlchemy集成在一起,以利于SQLAlchemy的会话和线程处理呢?

有没有Redis SA方言?我找不到它,这可能意味着我遗漏了一些基本点。有没有更好的架构可以让我使用两种不同类型的数据库?

EN

回答 2

Stack Overflow用户

发布于 2010-12-02 10:16:05

虽然可以设置一个将数据放入redis的ORM,但这不是一个特别好的主意。ORM旨在公开标准的SQL特性。SQL中的许多标准功能,比如对任意列的查询,在redis中是不可用的,除非您做了大量额外的工作。同时,redis具有标准SQL中不存在的集合操作等特性,因此ORM将不会使用这些特性。

您最好的选择可能是编写代码直接与redis交互,而不是尝试使用不适当的抽象-通常,您会发现从redis中获取数据的代码比使用ORM的SQL代码简单得多。

票数 17
EN

Stack Overflow用户

发布于 2010-12-02 15:44:39

Redis非常擅长存储键值和进行简单的原子操作,但是如果你想把它用作一个关系数据库,你真的要吃亏了,就像我曾经做过的那样。这是我的故事。

我已经做了一些类似的事情,创建了几个对象来抽象所有的redis内部,公开原语查询(我在我的代码中调用了过滤器),get,set,update和更多你可以从ORM中期待的方法,事实上,如果你只处理localhost,你不会感觉到你的应用程序中有任何缓慢的地方,你可以使用redis作为关系数据库,但如果你在任何时候试图将你的数据库移动到另一个主机,这将在网络传输方面代表许多问题,我最终得到了一堆使用redis和他的管道的重新破解的类。这使我的程序快了900%,使其在本地网络中可用,不管怎样,我正开始将我的数据库库转移到postgres。

这段历史的教训是,永远不要尝试用键值模型来创建关系数据库,在基本操作上效果很好,但无法在服务器中建立关系的代价是高昂的。

回到你的问题,我不知道有任何项目可以为redis做sqlalchemy的适配器,而且我认为没有人会真正对这样的东西感兴趣,因为每个项目的性质。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4324407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档