Redis Set 實現關注,粉絲功能

2021-08-09 17:50:47 字數 1683 閱讀 6815

採用 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...