您好,登錄后才能下訂單哦!
全局相關的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更大的微博
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。