聊天系统-数据库设计

聊天系统-数据库设计,第1张

采用Redis进行数据存储,主要包括频控、限流、用户表、在线用户表、聊天消息表(redis list实现消息队列)、好友表(TODO)

CheckFrequency(userId uint64) bool

返回true检查通过,false触发频控

visited_{user_id} >3触发

离线用户key为空

数据结构:key-value

取值:

1=在线

2=离开

3=隐身(VIP功能)

数据结构:list

数据结构:hashmap

一共七张表,每张表均以ID字段作为主键,应该是一个简单的聊天系统后台数据库,各个表大概应该为:

1.Users,用户表,应该是主体表,用于记录用户的登录信息,名称之类,年龄,性别。

2.BloodType,血型表,应该是用于记录血型,与users表的Bloodtypeid存在外键关联。

3.Star,星座表,用于记录星座,与users表的starid存在外键关联。

4.Friends,应该用于记录用户对应的好友信息,其中与users表存在两个外键关联。

5.friendshippolicy,这个表搞不清楚实际内容。

6.messages,应该用于记录用户与好友间的信息对话,存在三个外键关联,其中一个是与messagetype表存在,另两个是与users存在外键关联。

7.messagetype,用于记录信息的类型,与messages表的messagetypeid存在外键关联。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6765626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存