我在编码一个即时通讯系统。
我使用Redis和JSON来存储数据。我有一个带有会话ID的Redis设置。当我检索它们时,我希望按照消息的时间戳对列表进行排序:
conversation 9 -> last message timestamp: 1390300000
conversation 12 -> last message timestamp: 1390200000
conversation 7 -> last message timestamp: 1390100000我有一个包含每个用户参与(user1337:conversations)的会话的集合,还有一个包含每个会话(conversation1234:messages).的JSON编码消息的列表。
我想没有必要使用技巧,所以可以用Redis进行本地操作。你怎样才能做到这一点?
发布于 2014-01-21 09:38:35
听起来,http://redis.io/topics/data-types正是你所需要的。
您将设置每个会话的时间戳作为其得分(请参见ZADD),然后可以使用ZRANGE、ZRANGEBYSCORE、ZREVRANGE和ZREVRANGEBYSCORE等命令检索它们。
https://stackoverflow.com/questions/21254139
复制相似问题