很多站长朋友们都不太清楚php站内信设计,今天小编就来给大家整理php站内信设计,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP站内信功能怎么设计 2、 怎样使用php设置站内信功能,有什么函数么? 3、 php+mysql 站内信功能怎么设计更合理? PHP站内信功能怎么设计情况一:无需实时聊天
这种情况可以采用简单粗暴的方法,数据库直接读写消息记录,已读/未读用一个状态码控制即可,稍微高级一点可以用Redis做消息推送,具体方法不作详细介绍,百度一搜一大把
情况二:实时聊天
沿用以上笨办法,web页面做一个定时器,每隔一段时间请求数据库;当然,Redis也可以轻松办到。如果不嫌麻烦可以采用workerman框架,socket通信专为在线聊天和直播流设计的
怎样使用php设置站内信功能,有什么函数么?这是个功能,不是一个函数能解决的,PHP也不存在这样的功能,需要程序员编写代码开发。
首先要你需要建立一个数据库表,用来存放站内信的相关信息,然后用户使用站内信功能的时候去数据库查询和自己有关的站内信(比如说自己发送的,别人发给你的等等),这属于比较简单的功能开发。
php+mysql 站内信功能怎么设计更合理?这个功能,你可以参考微博的推送思路。
比如你关注了很多明星(千万级大V),他们发的每条微博会进入到“我的首页”。比如某个明星发了条微博abc,你在“我的首页”里看到的"abc"并不是读自明星微博个人的数据库,而是来自“我的首页”里一个专门的数据集合。
通俗的讲,这个数据集合是完全属于你个人的,你所关注的每个人,当他们发微博时,会同步“推送”到你自己个人的这个“数据集合”里。
那么问题来了,千万级大V,每发一条微博,就要同步推给千万个粉丝,生成千万条数据吗?NO,微博根据用户活跃度等一系列算法,将用户分成不同梯队,一批一批的推送,例如一个近30天都没登录过的用户,自然就会被划到较迟推送的那一批里。这样做是为了分流服务器负担。
但不同产品对于数据设计有不同的思路,你这个公用一条站内信,我的建议是,建个公共站内信统一变量(例如letter=20160514),可以保存到用户的cookies里。
当用户访问页面时,程序首先将这个变量值和cookies里保存的变量对比,相同则略过,不同则进行读取相应的公共站内信,保存到自己的“收件箱”里。
这样可以使原本需要同步推给千万用户一条站内信的工作,由主动推送变成被动发送。用户上线访问了,对比、发送,这种工作显然要大大减小了服务器压力。
读取消息也是,反馈生成一条数据写到数据库里就好了。
关于php站内信设计的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php站内信设计 php网站架设的详细内容...