微博项目的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 | 测试内容 |
关注表: following
Following:$userid -->
粉丝表
Follower:$userid --->
推送表:revicepost
=================拉模型,改进=====================
拉取表
问: 上次我拉取了 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://myzitong.com/article/csieee.html