SpringCloud:如何使用Redis优化以下两个需求?

问题描述 投票:0回答:0

背景:

餐桌学校:
3 个字段:
sid(学校编号)
s_name(学校名称)
s_type(学校类型)

表用户:
2 个字段:
user_id(用户 ID)
姓名(用户名)

表school_user_relationship:
3 个字段:
摆脱(关系ID)
sid(学校编号)
user_id(用户id)

解释:

  1. sid和user_id都存在于user表中,用flag来区分学校和普通用户。 sid和user_id来自同一个全局用户系统,由分布式ID算法生成,不被MySQL自增
  2. 学校表是学校信息的扩展表。
  3. 表school_user_关系存在唯一约束联合(sid,user_id)
  4. 关系表中的每条记录表示sid学校有一个user_id用户
  5. 每个sid学校的最大用户数为100000
  6. 学校数量高度不确定

问题:

如何使用Redis优化以下两个需求?

  1. 给定一个代表学校的sid和一个代表学校或学生的user_id,确定user_id属于这所学校(sid)
  2. 给定一个代表一个(学校id或用户id)集合的用户,它判断集合中的所有用户是否属于同一所学校

数据结构: 哈希?放?位集?

不使用任何优化时,查询时间有点长。因此,优化很有可能毕业。但我还没有任何计划。

redis web-applications query-optimization spring-cloud
© www.soinside.com 2019 - 2024. All rights reserved.