标签墙

分表

标签服务实现漫谈

标签服务是一个较为通用的基础业务服务,比如博客系统对文章加标签、社交网络中为好友添加印象、收藏的歌曲贴标签方便整理等等。 其主要提供两类接口: 标签实体的管理/查询:负责标签实体的 CRUD 标签关联的管理/查询:将外部业务实体与标签建立/删除关联,根据外部业务实体 id 查询标签集 RDB 实现 基于关系型数据库的实现是最容易的,并且上大多数应用也是这样做的。 建立 tag 表,其中包含了 tag 的基础属性,例如 name、description 等 建立 tag_rel 关联表,其中主要包含了 object_id、tag_id 管理服务(创建/更新/删除)的实现非常容易;根据 object_id 查询其对应的标签集也很容易实现: SELECT tag_rel.tag_id, tag_rel.object_id, tag.name FROM tag_rel LEFT JOIN tag ON tag_rel.tag_id = tag.tag_id WHERE tag_rel.object_id = '2db775c1d2174a8c67fc39b86c3fc168' 问题 ....

More...