【发布时间】:2014-11-02 22:38:57
【问题描述】:
我即将开始一个读写量大且频繁的项目,因此环顾四周,我发现内存数据库本身就是为此目的而设计的。再调查一点把我带到了redis。
Redis 看起来很酷(刚开始阅读,但需要了解很多)。但我主要只看到关系数据库,并根据元组和关系来考虑数据(我认为我可以随着时间的推移学习)。
我现在有以下问题:
- 我可以只使用 redis 来存储我的数据吗?
- 我问的原因是我看到的每一篇文章都使用 Redis/memcached 作为缓存的中间层。
- 我可以只依靠 redis 来持久化我的数据吗?
- 在哪里托管/运行 redis 数据库?
- 由于 Redis 是内存数据库,它对主机的要求肯定会不同于需要更多处理的应用程序。拥有更多 RAM 的主机在这里肯定会更好。
- 那么人们通常去哪里托管他们的数据库?
- 来自 AWS 的 Elasticcaching,可用于托管 redis(作为主数据库,而不仅仅是缓存层)
- 任何资源?
- 我总是问这个问题,我在网上找到了很多好的文档,但没有什么好的开始。如果您知道,请分享任何好的资源。
【问题讨论】:
-
The Redis website 通常是 Redis 文档的最佳位置。其中大部分内容是由 Redis 的创始人(Salvatore Sanfilippo,也称为 Antirez)编写的,他以非常清晰和公平的方式记录了这些内容,并且几乎没有营销废话。网站上有 a list of docs,特别是关于使用 Redis 作为您唯一的数据存储,请查看 redis.io/topics/persistence 和 oldblog.antirez.com/post/redis-persistence-demystified.html
-
添加到@PaulD.Waite - 也请查看 Muut 的帖子:muut.com/blog/technology/redis-as-primary-datastore-wtf.html
-
@ItamarHaber:这是一个不错的案例研究。
-
感谢大家的帮助,似乎喜欢使用内存数据库,因为只有数据存储需要很多风险管理,因此我正在考虑使用带有 mysql db 的 redis 备份选项。这是一个不错的选择,我也不知道如何管理这两个商店之间的数据。现在我正在考虑将数据异步推送到mysql。
-
您认为什么是“大而频繁的”?如今,分片关系数据库的扩展性非常好。
标签: java database amazon-web-services redis amazon-elasticache