首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Redis图进行概念化?

对Redis图进行概念化?
EN

Stack Overflow用户
提问于 2014-04-28 00:41:05
回答 1查看 1.9K关注 0票数 5

我对Redis很陌生,我很喜欢它。我有一个在Redis中实现图形的想法,查找它,当然,它已经做过了,但是我有一些关于它的问题。

推特使用FlockDB和Redis (来源)将其键和值与tweet、关注者等联系起来。Pinterest通过遍历列表并抓取所请求的密钥,为每个用户(其追随者、引脚等)使用Redis列表来加载所请求的数据(来源)

我对使用Redis非常感兴趣,就像Pinterest那样。我找到了一个代码解释这里

我想不出的是:

所有这些数据(跟随者列表、引脚列表等)都需要存储在第二个数据库中,该数据库可以持久化数据。要让Redis的列表数据和其他数据库的数据保持同步,难道不需要大量的工作/维护吗?有什么简单的方法吗?

难道不是像Pinterest那样对每个用户使用Redis列表,与FlockDB这样的解决方案相比,它的内存非常密集吗?

如果我误解了任何来源信息,我很抱歉。如果有人能在这个概念上分享一些见解,那将是有帮助的。提前谢谢。

PS:我的应用程序、关系和提要都是社交网络的。和前面提到的Twitter/Pinterest没什么不同。

更新:

我不确定这个问题是否会被回答,但我会用我学到的信息来更新它。我配置了一个Cassandra集群,编写表中的所有物理对象,并配置Redis集群来存储高流量的列表(数据关系),否则它们将成为SQL或CQL中的自己的联接表(许多-许多关系表,如conversation_users)。这非常好,因为A. Cassandra在辅助索引方面不是很好,并且不能在一个查询中查找多个二级索引值,因此,对于Redis设置,我基本上可以向Cassandra提供一个用于读取所需的主is的列表,B. Cassandra最好用作写作>读取工具,因此Redis通过提供必要的主is来减轻Cassandra的负担,几乎消除了对单个信息集的多个查询,C. (同样使用辅助索引)考虑扫描整个表的值与获取简单键及其设置值的性能。D. (维护)这是可能的,我正在构建后台脚本,将几乎过期的低使用率Redis集序列化为Cassandra列(再次使用Redis作为它的强度:内存,而Cassandra用于它的强度:日志),然后在请求时将这些序列化的设置写回Redis (过期后)。

我仍然想知道哪些信息应该缓存在Redis中,哪些应该保存在Cassandra中。我不能把所有的数据关系都放在Redis中(尽管我很想),因为我的潜在社交图已经很大了。例如,我是否应该在Redis中保留实际的最近读/写对象以及那些对象ID的提要?这将占用大量的内存,但它降低了从卡桑德拉读取较新的对象。或者我应该在Redis中保持大部分的关系(追随者,跟踪提要,blocked_users,喜欢的帖子,等等)?我更喜欢第二条路线,但它意味着更多地查询卡桑德拉的实际对象,我想消除它,而不需要支付每月一百万美元的内存。我应该选择在Redis中保留哪些对象/关系?我从代码示例中学到了很多东西,所以如果您碰巧发现类似的东西,我会很感激的。如果你有任何想法,请给我你的想法!谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-10-02 22:18:24

所有这些数据(跟随者列表、引脚列表等)都需要存储在第二个数据库中,该数据库可以持久化数据。要让Redis的列表数据和其他数据库的数据保持同步,难道不需要大量的工作/维护吗?有什么简单的方法吗?

Redis具有内置持久性,因此不需要第二个DB来持久化数据。最简单的方法是使用红系持久性

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

https://stackoverflow.com/questions/23330843

复制
相关文章

相似问题

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