Tags 大型视频网站的redis和标签

Tags 大型视频网站的redis和标签,tags,nosql,redis,Tags,Nosql,Redis,我的问题是关于标签和搜索,以管/闪光灯为基础 视频剪辑网站 我有apx 100000个视频,我想用Redis组织这些视频 每个视频都有以下内容: 标题、长度、标签 我已经添加了以下剪辑 hset video:id1 title "A funny clip" hset video:id1 length "22 secs" hset video:id1 tags "funny,accident,cat" hset video:id2 title "Falling of a chair" h

我的问题是关于标签和搜索,以管/闪光灯为基础 视频剪辑网站

我有apx 100000个视频,我想用Redis组织这些视频

每个视频都有以下内容:

标题、长度、标签

我已经添加了以下剪辑

hset video:id1 title  "A funny clip"
hset video:id1 length "22 secs"
hset video:id1 tags   "funny,accident,cat"

hset video:id2 title  "Falling of a chair"
hset video:id2 length "33 secs"
hset video:id2 tags   "funny,chair,kids"

hset video:id3 title  "Pool party"
hset video:id3 length "17 secs"
hset video:id3 tags   "funny,pool,accident"
现在我该怎么做才能允许按标签搜索

我想能够做一个搜索所有的剪辑有
某些标记。

最好是为添加视频id的每个标记创建一个列表

rpush funny id1 id2 id3
编辑:

您可以在此处找到有关如何搜索不完整标记的想法:


最好是为添加视频id的每个标记创建一个列表

rpush funny id1 id2 id3
编辑:

您可以在此处找到有关如何搜索不完整标记的想法:

现在我该怎么做才能允许按标签搜索

Redis不支持任何类型的即席数据查询。尽管有一个命令允许您搜索具有特定模式的键,但它仅用于调试或类似操作,因为它的性能取决于数据库中键的数量

但是,您可以为标签创建专用的集合结构,其中每个集合将保存分配给特定标签的视频ID集合

现在我该怎么做才能允许按标签搜索

Redis不支持任何类型的即席数据查询。尽管有一个命令允许您搜索具有特定模式的键,但它仅用于调试或类似操作,因为它的性能取决于数据库中键的数量


但是,您可以为标签创建专用的集合结构,其中每个集合将包含分配给特定标签的视频ID集合。

您走错了方向。在redis中,你需要逆向思考。如果要搜索某个标记,则需要从标记到对象的映射,而不是从对象到标记的映射。在Redis中,您需要定义自己的索引


因此,如果您希望能够搜索具有特定标记的所有视频,请为每个标记创建一个集合,并将带有该标记的视频id添加到集合中。

您走错了方向。在redis中,你需要逆向思考。如果要搜索某个标记,则需要从标记到对象的映射,而不是从对象到标记的映射。在Redis中,您需要定义自己的索引


因此,如果您希望能够搜索带有某个标记的所有视频,请为每个标记创建一个集合,并将带有该标记的视频id添加到集合中。

好的,花几个小时阅读后,我现在明白了,为什么它被称为“字典服务器”-好的,花几个小时阅读后,我现在明白了,为什么它被称为“字典服务器”-