sta*_*r95 5 python orm nosql redis key-value-store
我在Python平台中使用Redis(redis-py).最近有人建议我切换到ORM.
在NoSQL世界中使用ORM被认为是不好的做法吗?
指出 ORM 中的 R 代表关系的评论在技术上是正确的。这并不意味着抽象 redis 的库没有有效的用途和理由。
有一些很棒的库可以让与 redis 的交互对于您所使用的语言来说感觉更好、更惯用。对于像ohmor这样的 ruby 库redis-native_hash(披露:我写了一个)就这样做。对于Python来说,有类似的工具redisco,当然还有其他工具。这些使得将对象持久保存到 Redis 变得非常简单,并且使使用 Redis 感觉更像 Ruby 或 Python。
使用最基本的抽象(例如您可以在应用程序中编写并保留的非常薄的包装器)还有一些其他好处:
切换redis客户端会更容易。也许您永远不会这样做,但如果您这样做了,在一个地方(您的包装器)更改对 redis 的调用比在使用 redis 的任何地方更改它们要简单得多。
如果您的调用是通过某种抽象进行的,那么实现扩展可能需要的东西(例如分片或连接池)可能会更容易。
如果抽象到位,用其他键/值存储或数据结构服务器替换 redis 会更简单。
我并不是提倡使用对象映射库或构建您自己的抽象,只是指出您这样做是有充分理由的。您可以评估自己的需求并选择最适合您的。直接调用redis也没有什么问题。