根据Redis记录的字段检索Redis记录

arknldoa  于 2023-10-15  发布在  Redis
关注(0)|答案(1)|浏览(155)

我知道redis不使用“记录”和“字段”,但我发现这是描述这一点的最佳方式。基本上,我有以下schema:

"SESSION_ID": {
    "user_id": String,
}

所有我想做的是得到所有会话,有一个特定的user_id,我还没有真正能够找到任何关于这个。(注意,在这种情况下,我们不知道session_id,而只知道user_id)
我试过使用smembers等,但我是一个初学者与redis,所以我真的没有太多。

qhhrdooz

qhhrdooz1#

Redis的二级索引是RediSearch。它可以索引哈希和JSON对象,并允许您对键执行搜索查询。
您没有提供给予太多的信息,但我假设您有一些具有user_id属性的会话对象。下面是一个使用哈希的例子:

HSET session:123 user_id 42 more_data value …
FT.CREATE idx ON HASH PERFIX 1 session: SCHEMA user_id NUMERIC …
FT.SEARCH idx "@user_id:[42 42]"

这些命令将为会话123创建一个散列,然后为索引会话创建一个名为idx的索引,具有一个名为user_id的数字属性,最后在该索引上执行搜索以检索user_id值在[42 42]范围内的所有散列(因此它与42完全匹配)。
您可以使用许多其他字段类型,并且在大多数redis客户端(包括Python、nodeJS、PHP等)中支持搜索(和JSON)命令集

相关问题