聊天系统-数据库设计

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

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

CheckFrequency(userId uint64) bool

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

visited_{user_id} >3触发

离线用户key为空

数据结构:key-value

取值:

1=在线

2=离开

3=隐身(VIP功能)

数据结构:list

数据结构:hashmap

对于关系数据库,可以设一个这样的字段,这个字段里存放了李四的所有好友,每个好友以“,”分隔;

对于非关系数据库,比如说健值数据库,可以使用一个大型的HASH表来存放,李四的所有好友以一个链接的方式串起来

比如:

linker表示链接

hash(李四)=linker(王五、张三、黄光、李明)

要看需求了,需求文档呢? 不同的需求设计方式不同的,比如, 有些聊天,不需要保存聊天记录,有些则是需要的,在设计上就不同。 还有,在这个系统中,权限设计也是很复杂的,当然, 那也要看你的功能模块有多少。

记得采纳啊


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

原文地址: http://outofmemory.cn/sjk/6630110.html

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

发表评论

登录后才能评论

评论列表(0条)

保存