全局相關(guān)的key:
創(chuàng)新互聯(lián)建站主營陸河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),陸河h5微信小程序開發(fā)搭建,陸河網(wǎng)站營銷推廣歡迎陸河等地區(qū)企業(yè)咨詢
表名 | global | |
列名 | 操作 | 備注 |
Global:userid | incr | 產(chǎn)生全局的userid |
Global:postid | Incr | 產(chǎn)生全局的postid |
?
?
用戶相關(guān)的key(表)
表名 | user | ||
Userid | Username | Password | Authsecret |
3 | Test3 | 1111111 | #U*Q(%_ |
?
在redis中,變成以下幾個(gè)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(%_ |
?
?
微博相關(guān)的表設(shè)計(jì)
表名 | post | |||
Postid | Userid | Username | Time | Content |
4 | 2 | Lisi | 1370987654f | 測試內(nèi)容 |
?
微博在redis中,與表設(shè)計(jì)對應(yīng)的key設(shè)計(jì)
Key前綴 | post | |||
Post:Postid:* | Post:postid:*Userid | Post:postid:*:Username | Post:postid:*:Time | Post:postid:*:Content |
4 | 2 | Lisi | 1370987654f | 測試內(nèi)容 |
?
關(guān)注表: following
Following:$userid -->
?
粉絲表
Follower:$userid --->?
?
推送表:revicepost
?
=================拉模型,改進(jìn)=====================
?
拉取表
?
?
問: 上次我拉取了A->5,67,三條微博,下次刷新home.php,從>7的微博開始拉取
解決: 拉取時(shí),設(shè)定一個(gè)lastpull時(shí)間點(diǎn),下次拉取時(shí),取>lastpull的微博
?
問: 有很多關(guān)注人,如何取?
解決: 循環(huán)自己的關(guān)注列表,逐個(gè)取他們的新微博
?
問: 取出來之后放在哪兒?
答: pull:$userid的鏈接里
?
問: 如果個(gè)人中心,只有前1000條
答: ltrim,只取前1000條
?
?
問: 如果我關(guān)注A,B兩人,從2人中,各取3條最新信息
,這3+3條信息,從時(shí)間上,是交錯(cuò)的,如何按時(shí)間排序?
答: 我們發(fā)布時(shí),是發(fā)布的hash結(jié)構(gòu),不能按時(shí)間來排序.
?
解決: ?同步時(shí),取微博后,記錄本次取的微博的最大id,
下次同步時(shí),只取比最大id更大的微博