> hset data:1 value 1 data hello
(integer) 2
> hset data:2 value 2 data world
(integer) 2
> hset data:3 value 3 data how
(integer) 2
> hset data:4 value 4 data are
(integer) 2
> hset data:5 value 5 data you
(integer) 2
在数据上创建一个索引,这里我将value作为数字索引,但您也可以将data作为标记或全文索引。
> ft.create idx:data on hash prefix 1 data: schema value numeric sortable
"OK"
1条答案
按热度按时间gzjq41n41#
你应该看看Redis Stack的搜索功能。您可以使用
FT.CREATE
命令在包含Redis Hash或Redis Stack JSON文档的部分键空间上创建搜索索引,然后使用FT.SEARCH
命令搜索更像SQL语法的匹配项。这将允许你做这样的事情(使用哈希的演示,你也可以使用JSON):
创建一些数据:
在数据上创建一个索引,这里我将
value
作为数字索引,但您也可以将data
作为标记或全文索引。搜索现在将跟踪对前缀为
data:
的键的所有更改,其类型为Hash。现在我可以做一些搜索并得到数据。所有值小于3的东西:
返回所有索引项的搜索:
默认情况下,您将获得前10个,并可以使用
LIMIT
分页。让我们得到2:如果您只想返回数据的某些部分,请使用
RETURN
:如果你只需要keyname,使用
NOCONTENT
:请注意,Redis基本上是单线程的,因此“并行”在这里的使用有限。
参考文献: