【发布时间】:2016-01-20 17:03:25
【问题描述】:
我对Redis有点新,所以如果这是基本的,请原谅。
我正在开发一个应用程序,该应用程序会针对某些事件向用户发送自动回复。我想用 Redis 来存储谁收到了什么事件。
本质上,在 ruby 中,数据结构可能如下所示,其中您有一个用户到事件的映射以及每个事件的发送日期。
{
"mary@example.com" => {
"sent_comment_reply" => ["12/12/2014", "3/6/2015"],
"added_post_reply" => ["1/4/2006", "7/1/2016"]
}
}
在 Redis 数据结构中表示这一点的最佳方式是什么,因此您可以问,Mary 是否收到了 sent_comment_reply?如果有,最近的时间是什么时候?
简而言之,问题是,如何(如果可能)在 Redis 中拥有一个包含数组的 Hash 结构。
与使用复合键的集合或列表相反的基本原理是哈希具有 O(1) 查找时间,而列表 (lrange) 和集合 (smembers) 上的查找将是 O(s+n) 和集合分别为 O(n)。
【问题讨论】:
-
试试文档,或者至少是这个:developer.mozilla.org/en-US/docs/Mozilla/Redis_Tips
-
我已经做到了,但它们并没有真正解决复杂数据结构的最佳实践
标签: ruby data-structures redis