3

我即将开始一个读写量大且频繁的项目,因此环顾四周,我发现内存数据库本身就是为此目的而设计的。再调查一点把我带到了redis。

Redis 看起来很酷(刚开始阅读,但需要了解很多)。但我主要只看到关系数据库,并根据元组和关系来考虑数据(我认为我可以随着时间的推移学习)。

我现在有以下问题:

  1. 我可以只使用 redis 来存储我的数据吗?
    • 我问的原因是我看到的每一篇文章都使用 Redis/memcached 作为缓存的中间层。
    • 我可以只依靠 redis 来持久化我的数据吗?
  2. 在哪里托管/运行 redis 数据库?
    • 由于 Redis 是一个内存数据库,它对主机的要求肯定会不同于需要更多处理的应用程序。拥有更多内存的主机在这里肯定会更好。
    • 那么人们通常在哪里托管他们的数据库呢?
    • 来自 AWS 的 Elasticcaching,可以用来托管 redis(作为主数据库,而不仅仅是缓存层)
  3. 任何资源?
    • 我总是问这个,我在网上找到了很多好的文档,但没有什么好的开始。如果您知道,请分享任何好的资源。
4

1 回答 1

4

我可以只使用 redis 来存储我的数据吗?

这取决于您的要求,但有 150 多个 NoSQL 数据库可用,我怀疑 redis 不是您唯一的选择。

我问的原因是我看到的每一篇文章都使用 Redis/memcached 作为缓存的中间层。

它比 JDBC 快,但你需要它更快吗?

我可以只依靠 redis 来持久化我的数据吗?

你可以,这取决于你的可靠性要求。例如,一些组织只信任传统的 RDBMS 数据库。注意:您需要在多台服务器上安装 redis 以防止出现故障。

在哪里托管/运行 redis 数据库?

随心所欲。

由于 Redis 是一个内存数据库,它对主机的要求肯定会不同于需要更多处理的应用程序。拥有更多内存的主机在这里肯定会更好。

我通常会将 NoSQL 实例放在同一台机器上。你给它的 RAM 量取决于你需要多少数据。

那么人们通常在哪里托管他们的数据库呢?

跨多个服务器以实现冗余,它们可以与应用程序共享。

来自 AWS 的 Elasticcaching,可以用来托管 redis(作为主数据库,而不仅仅是缓存层)任何资源?

我会问他们。

我总是问这个,我在网上找到了很多好的文档,但没有什么好的开始。如果您知道,请分享任何好的资源。

没有一种资源,因为没有一个答案。如果有的话,将会有 150 多个 NoSQL 数据库。

免责声明:我有另一个 NoSQL 键值存储,它可以在内存中持久化,并且速度更快(如果你需要那种东西)它也更易于使用/部署。 https://github.com/OpenHFT/Chronicle-Map

于 2014-09-09T13:54:23.737 回答