有关在Redis中使用的最佳数据结构的建议?

时间:2011-10-30 21:31:03

标签: json redis

我是redis的新手,并希望开始在redis中存储一个当前为JSON的对象。但我需要一些关于最佳数据结构的建议。

基本上,该对象存储有关哪个用户查看哪个页面的信息。这是JSON:

all_pageviews = {
    'unique_user_session_id_1' : { 'page' : 2, 'country' : 'DE' },
    'unique_user_session_id_2': { 'page' : 2, 'country' : 'FR' } 
     ...
};

我一直在使用带有用户ID的JSON对象作为键,因为这样我可以确保键是唯一的,这在我的应用中由于各种原因很重要。

我想要通过以下方式有效地查询它:

  • 按用户:获取与unique_user_session_id_2
  • 相关的所有数据
  • 按页:获取与页码2相关的所有用户对象。

关于什么是最好的redis结构使用的任何想法?对于我的应用程序而言,排序无关紧要,但有效查询会起作用。

如果我解释得很严重,或者您需要更多信息,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:2)

要通过多个键在redis中查找数据,您必须使用多个结构。

我会使用hash将user_session_ids映射到json字符串,并使用sorted set将页面映射到user_session_ids