【发布时间】:2017-09-15 03:52:27
【问题描述】:
您好,我是 Redis 的新手。我正在尝试使用 Redis 作为我的主数据库,而不是 Rails 默认提供的 sqlite。我尝试了足够的谷歌搜索,但找不到相关的东西。如何做到这一点?或者如果我错了,我们是否可以在 Rails 应用程序中使用 Redis 作为主数据库?
谢谢
【问题讨论】:
标签: ruby-on-rails database redis
您好,我是 Redis 的新手。我正在尝试使用 Redis 作为我的主数据库,而不是 Rails 默认提供的 sqlite。我尝试了足够的谷歌搜索,但找不到相关的东西。如何做到这一点?或者如果我错了,我们是否可以在 Rails 应用程序中使用 Redis 作为主数据库?
谢谢
【问题讨论】:
标签: ruby-on-rails database redis
通常您会使用像 https://github.com/nateware/redis-objects 这样的库。正如它的自述文件所说,它不仅仅是存储 ActiveRecords 的另一种方式,因为如果你想要的只是 ActiveRecords,你也可以保持简单并使用 MySQL 或 Postgres。取而代之的是,redis-object 将允许您按照预期使用 Redis 数据结构。
这不是 ORM。将 ORM 包裹在 Redis 周围的人没有抓住重点。
Redis 的杀手级特性是它允许您对单个数据结构(如计数器、列表和集合)执行原子操作。原子部分是巨大的。使用检索“记录”的 ORM 包装器,更新值,然后将这些值发回,消除原子性,从而切断 Redis 的主要优势。就用 MySQL 吧?
您也可以只安装 Redis gem 并自己调用 Redis,但这种低级编程在很大程度上会破坏使用像 Rails 这样强大的框架的目的。
【讨论】:
知道了。 Redis 不能用作主数据库,因为它是内存中键值存储。如果内存发生了什么事怎么办?数据不持久。
【讨论】: