Redis按PostList(Zsets)的两个值搜索

时间:2018-04-26 07:06:01

标签: redis nosql

我正在使用Mac 10.13,redis 4.0.8

hash Post:PostUID有

UserUID,PostUID,UserAge,CreateDate,LastUpdate,Cotent
create and zadd PostList

zset PostList有Post:PostUID

Score : UserAge , Member : Post:PostUID

我希望按UserAge搜索并按LastUpdate排序并使用限制偏移20

如果我想搜索UserAge 15~18 我试过zrevrangebyscore 18 15 limit 0 20

这将命令UserAge成功搜索,但按输入

排序

如何按LastUpdate排序?

如果

Post:1 is UserAge 15 LastUpdate 201804260000
Post:2 is UserAge 16 LastUpdate 201804251530
Post:3 is UserAge 15 LastUpdate 201804232020
Post:4 is UserAge 17 Lastupdate 201804252200

我想要帖子:1,帖子:4,帖子:2,帖子:3

但结果是4 2 3 1

1 个答案:

答案 0 :(得分:1)

您可能需要查看RediSearch模块。开箱即用的Redis不支持搜索多个哈希值 - 您必须遍历每个帖子以查看哪些匹配。 RediSearch将您的数据编入索引以进行查询