我的问题是关于标签和搜索,基于管/闪光灯 视频剪辑网站。
我想要使用Redis安排100,000张视频。
每个视频都有以下内容:
标题,长度,标签
我一直在添加以下
的剪辑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"
我现在该怎么办才能按标签搜索。
我希望能够搜索所有具有的剪辑 某些标签。
答案 0 :(得分:3)
你走错了路。在redis中你需要反思。如果要搜索某个标记,则需要从标记到对象的映射,而不是从对象到标记的映射。在Redis中,您需要定义自己的索引!
因此,如果您希望能够搜索具有特定标记的所有视频,请为每个标记创建一个集合,并将带有该标记的视频ID添加到该集合中。
答案 1 :(得分:2)
最好的方法是为每个添加视频ID的标记创建一个列表
rpush funny id1 id2 id3
编辑:
您可以在此处找到有关如何搜索不完整标签的想法:
答案 2 :(得分:0)
我现在该怎么办才能按标签搜索。
Redis不支持任何类型的临时数据查询。虽然有KYES命令允许您搜索具有特定模式的键,但它仅用于调试或类似操作,因为它的性能取决于数据库中的键数量。
但是,您可以为代码创建专用的集合结构,其中每个集合都包含分配给特定代码的视频ID集合。