首页/数据/数据库速查/标签与共同关注场景(集合运算实战)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

标签与共同关注场景(集合运算实战)

用 Set 实现标签系统:SADD 打标、SINTER 找同时命中多标签的对象;大规模标签建议按位图或搜索引擎承载。

数据库速查数据更新于 2026-10-12

实战

实战
SADD tag:redis post1 post2 post9
SADD tag:mysql post2 post3 post9
SINTER tag:redis tag:mysql        # post2 post9(既是 redis 又是 mysql)
SUNION tag:redis tag:mysql        # 至少一个标签
SDIFF tag:redis tag:mysql         # 只有 redis 标签
SINTERCARD 2 tag:redis tag:mysql  # 2(只要个数)
打标SADD tag:<标签> <对象ID>
查交集SINTER / SINTERCARD
规模上限单标签集合过大时交集成本高,需分片或换检索引擎
标签集合要按「关注度」预估大小:热点标签集合可能千万级,交集运算放到从库或离线预计算。

易错点

  • 把全部标签塞进一个 Set:无法表达「同时满足多标签」,应每标签一个 Set
  • 线上实时 SINTER 大集合:慢命令直接拖住主线程

数据来源与参考

  • Redis 官方文档: SINTER
  • Redis 官方文档: Set 使用模式

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌