SSH框架下如何设计用户的关注与被关注功能?

想实现用户之间的互相关注的功能,所以在User类下面设置了两个User自身的多对多关系,分别表示用户的关注者和被关注者,生成两个中间表用来存放User的id。
貌似多对多的关系很少用到,在查询的过程中也不是很好用,有什么比较好的实现方法吗?

阅读 5.7k
1 个回答

不是很清楚为什么需要两个中间表。

感觉一个中间表足够了:字段1和字段2分别表示关注者和被关注者。
jack, rose (jack关注rose)
rose, jack (rose关注jack)
两条代表都存在则代表jack和rose互相关注。

查询的话,可以考虑redis等缓存,第一次去数据库会慢点,但整个用户会话的过程中用到内存数据库的话效率会很高。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏