採用 redis 的set
型別 ,這是一種 string 型別的無序集合,成員具有唯一性,雜湊表實現,複雜度為 o(1) ,成員的最大數量是 232
−1,大約是40億。
關注key:followuid
粉絲key:fansstaffid
往 key = follow417 新增乙個 staff147 成員
127.0
.0.1:6379> sadd follow417 staff147
(error) wrongtype operation against a key holding the wrong kind of
value
發現報錯了,字面意思是傳值不對,其實是operation417
這個 key 我之前用過,設定為 setbit 型別了。用 del key 刪除,重新執行 sadd 命令即可。
127.0
.0.1:6379> type follow417
none
127.0
.0.1:6379> del follow417
(integer) 1
127.0
.0.1:6379> sadd follow417 147
(integer) 1
127.0
.0.1:6379> sadd follow417 148
(integer) 1
# 給 集合中新增兩個元素 147 ,148
檢視集合的成員數目
127.0
.0.1
:6379> scard
follow417
(integer) 2
檢視所有成員
127.0.0.1:6379> smembers follow417
1) "147"
2) "148"
刪除 集合中的某個元素
127.0
.0.1
:6379> srem
follow417 147
(integer) 1
127.0
.0.1
:6379> scard
follow417
(integer) 1
127.0
.0.1
:6379> smembers
follow417
1) 「148」
設定粉絲集合
127.0
.0.1
:6379> smembers
fans1477
1) "40"
127.0
.0.1
:6379>
檢視集合的交集
127.0
.0.1:6379> sinter follow407 fans407
(empty
list
or set)
# 可以檢視兩個人的共同關注
127.0
.0.1:6379> sinter follow407 follow417
1) 「148」
粉絲關注系統如何設計?
引用部落格 總結 關係鏈業務是乙個典型的多對多關係,又分為強好友與弱好友 資料冗餘是乙個常見的多對多業務資料水平切分實踐 冗餘資料的常見方案有三種 1 服務同步冗餘 2 服務非同步冗餘 3 線下非同步冗餘資料冗餘會帶來一致性問題,高吞吐網際網路業務,要想完全保證事務一致性很難,常見的實踐是最終一致性...
django 實現關注功能以及只看關注者功能
關注功能 關注是針對於user模型的,乙個使用者可以關注多個使用者,乙個使用者也可以被多個使用者關注,屬於多對多關係。而且這個關係的兩邊是同乙個模型,都是user。所以採用乙個中間表來實現。新建乙個follow模型,有兩個字段,乙個是被關注者,乙個是粉絲,兩個欄位都是user的外來鍵,此時注意需要在...
mysql實現關注收藏 用資料庫實現收藏功能
這裡將資料庫的封裝為乙個工具類.將資料庫設計為乙個單例,封裝一些開啟,建立 增,刪,改,查的方法.在收藏功能中主要用到,查詢,增添,和刪除的方法.查詢,返回的資料,是你存入的資料內容.可以返回資料庫的全部內容,也可以根據某個屬性,返回符合該屬性的內容.區別 根據title來查詢資料庫中內容,返回與t...