重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
对于关系数据库,可以设一个这样的字段,这个字段里存放了李四的所有好友,每个好友以“,”分隔;
创新互联致力于网站建设,网站制作设计,营销网页定制网站建设,成都外贸网站建设,企业网站建设,小程序定制开发,网站SEO优化,网站设计制作案例丰富,是成都做网站公司和建站公司,欢迎咨询。
对于非关系数据库,比如说健值数据库,可以使用一个大型的HASH表来存放,李四的所有好友以一个链接的方式串起来 。
比如:
linker表示链接
hash(李四)=linker(王五、张三、黄光、李明)
采用Redis进行数据存储,主要包括频控、限流、用户表、在线用户表、聊天消息表(redis list实现消息队列)、好友表(TODO)
CheckFrequency(userId uint64) bool
返回true检查通过,false触发频控
visited_{user_id} 3触发
离线用户key为空
数据结构:key-value
取值:
1=在线
2=离开
3=隐身(VIP功能)
数据结构:list
数据结构:hashmap
想要私聊,最简单的就是
数据表中,必须存在4个字段,
私聊
1) 发送人 2)发送时间 3)接收人 4)接收时间
群聊
1) 发送人 2)发送时间 3)空 4)空
这个就能通过发送人与接收人来匹配是否有私聊记录
接收人为空就代表群聊
设计一张浏览文章表,字段用自增id、文章id、用户id、浏览时间、ip、客户端信息。。。
用户每访问一次文章就向表中添加一条数据
查询某文章浏览量就是select count(*) from 浏览表 where 文章id=:id
查询某文章用户总量 select count(*) from 浏览表 where 文章id=:id group by 用户id
1.首先要全面分析一下你的系统涉及到哪些事物对象,一般来说是为每种对象建立一张表。
2.然后是分析每个事物都有哪些属性,每个属性是什么特点,反映在数据库中这个字段是什么类型。
2.然后分析各个事物之间的关系,哪个是“一”,哪个是“多”。如班级是“一”,学生是“多”,则要在学生表中添加一个字段来保存他所属的班级。
最基本的就是这样,其他就是一些优化的问题。
建议你在网上找一些相关电子书进行系统的学些;然后就是可以下载一些程序,想dz,ecshop之类,如果让你自己来设计数据库你会怎样做,然后打开程序看别人是怎么设计的;看多了就熟悉了。