微博项目的key设计-创新互联

全局相关的key:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名网站空间、营销软件、网站建设、天宁网站维护、网站推广。

表名

global

列名

操作

备注

Global:userid

incr

产生全局的userid

Global:postid

Incr

产生全局的postid

用户相关的key(表)

表名

user

Userid

Username

Password

Authsecret

3

Test3

1111111

#U*Q(%_

在redis中,变成以下几个key

Key前缀

user

User:Userid:*

User:userid:*Username

User:userid:*Password

User:userid:*:Authsecret

User:userid:3

User:userid:3:Test3

User:userid:3:1111111

User:userid:3:#U*Q(%_

微博相关的表设计

表名

post




Postid

Userid

Username

Time

Content

4

2

Lisi

1370987654f

测试内容

微博在redis中,与表设计对应的key设计

Key前缀

post




Post:Postid:*

Post:postid:*Userid

Post:postid:*:Username

Post:postid:*:Time

Post:postid:*:Content

4

2

Lisi

1370987654f

测试内容

微博项目的key设计关注表: following

Following:$userid -->

微博项目的key设计粉丝表

Follower:$userid ---> 微博项目的key设计

推送表:revicepost

微博项目的key设计

=================拉模型,改进=====================

拉取表

微博项目的key设计 

微博项目的key设计

问: 上次我拉取了 A->5,67,三条微博, 下次刷新home.php, 从>7的微博开始拉取

解决: 拉取时,设定一个lastpull时间点, 下次拉取时,取>lastpull的微博

问: 有很多关注人,如何取?

解决: 循环自己的关注列表,逐个取他们的新微博

问: 取出来之后放在哪儿?

答: pull:$userid的链接里

问: 如果个人中心,只有前1000条

答: ltrim,只取前1000条

问: 如果我关注 A,B两人, 从2人中,各取3条最新信息

,这3+3条信息, 从时间上,是交错的, 如何按时间排序?

答: 我们发布时, 是发布的hash结构, 不能按时间来排序.

解决:  同步时,取微博后,记录本次取的微博的大id,

下次同步时,只取比大id更大的微博

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:微博项目的key设计-创新互联
本文路径:http://ybzwz.com/article/csieee.html