我使用redis存储某些实体的标签.数据示例:
+-------------+--------------------------------+
| key | value |
+-------------+--------------------------------+
| book:1:tags | [python, ruby, rails] |
+-------------+--------------------------------+
| book:2:tags | [fiction, fantasy] |
+-------------+--------------------------------+
| book:3:tags | [fiction, adventure] |
+-------------+--------------------------------+
Run Code Online (Sandbox Code Playgroud)
如何找到所有带有特定标签的书籍,即所有标有fiction
?的书籍?
您必须自己维护反向索引.除了您发布的那些键,您还应该创建反向引用.
tag:python => [1]
tag:ruby => [1]
tag:rails => [1]
tag:fiction => [2, 3]
tag:fantasy => [2]
tag:adventure => [3]
Run Code Online (Sandbox Code Playgroud)
然后做你想做的事是微不足道的.但也许你应该考虑使用另一种工具来完成这项工作.例如,MongoDB可以有效地索引和查询数组.
归档时间: |
|
查看次数: |
1079 次 |
最近记录: |