欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis實(shí)現(xiàn)共同好友的思路詳解

 更新時(shí)間:2021年05月26日 14:42:03   作者:叁滴水  
微信朋友圈大家都玩過(guò)吧,那么朋友圈的點(diǎn)贊、評(píng)論只能看到自己好友的信息是怎么操作的呢?下面通過(guò)本文給大家分享下此功能的實(shí)現(xiàn)流程,對(duì)redis實(shí)現(xiàn)共同好友的方法感興趣的朋友一起看看吧

背景

​ 微信朋友圈的點(diǎn)贊、評(píng)論,只能看到自己好友的信息。這就涉及到了一個(gè)共同好友的概念,通過(guò)redis的set集合可以很輕松的實(shí)現(xiàn)此功能。

共同好友實(shí)現(xiàn)思路

每個(gè)人的好友存放在set集合中。key的名字為friend_{userId}。如下圖:

image-20210526103214584

  1. 用戶1的好友為2,3,4
  2. 用戶2的好友為1,3,4
  3. 用戶3的好友為1,4,5

交集

用戶1和2是好友。他們的共同好友可以通過(guò)他們的交集獲取。

image-20210526105209566

image-20210526104402063

redis命令示例:

127.0.0.1:6379> sadd friend_1 2 3 4
(integer) 3
127.0.0.1:6379> sadd friend_2 1 4 5
(integer) 3
127.0.0.1:6379> SINTER friend_1 friend_2
1) “4”

sadd 將一個(gè)或多個(gè)成員元素加入到集合中,已經(jīng)存在于集合的成員元素將被忽略。命令詳解

SINTER 返回給定所有給定集合的交集。命令詳解

并集

獲得所有的好友信息。

image-20210526105240580

127.0.0.1:6379> SUNION friend_1 friend_2
1) “1”
2) “2”
3) “3”
4) “4”
5) “5”

SUNION 返回給定集合的并集。命令詳解

差集

可以用戶好友推薦。差集出來(lái)的用戶推薦給用戶2。

image-20210526105457095

127.0.0.1:6379> sadd friend_1 2 3 4
(integer) 3
127.0.0.1:6379> sadd friend_2 1 4 5
(integer) 3
127.0.0.1:6379> SDIFF friend_1 friend_2
1) “2”
2) “3”

SDIFF 返回第一個(gè)集合與其他集合之間的差異。命令詳解

更多set命令說(shuō)明:

序號(hào) 命令及描述
1 SADD key member1 [member2] 向集合添加一個(gè)或多個(gè)成員
2 SCARD key 獲取集合的成員數(shù)
3 SDIFF key1 [key2] 返回給定所有集合的差集
4 SDIFFSTORE destination key1 [key2] 返回給定所有集合的差集并存儲(chǔ)在 destination 中
5 SINTER key1 [key2] 返回給定所有集合的交集
6 SINTERSTORE destination key1 [key2] 返回給定所有集合的交集并存儲(chǔ)在 destination 中
7 SISMEMBER key member 判斷 member 元素是否是集合 key 的成員
8 SMEMBERS key 返回集合中的所有成員
9 SMOVE source destination member 將 member 元素從 source 集合移動(dòng)到 destination 集合
10 SPOP key 移除并返回集合中的一個(gè)隨機(jī)元素
11 SRANDMEMBER key [count] 返回集合中一個(gè)或多個(gè)隨機(jī)數(shù)
12 SREM key member1 [member2] 移除集合中一個(gè)或多個(gè)成員
13 SUNION key1 [key2] 返回所有給定集合的并集
14 SUNIONSTORE destination key1 [key2] 所有給定集合的并集存儲(chǔ)在 destination 集合中

以上就是redis實(shí)現(xiàn)共同好友功能的詳細(xì)內(nèi)容,更多關(guān)于redis實(shí)現(xiàn)共同好友的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Redis源碼解析:集群手動(dòng)故障轉(zhuǎn)移、從節(jié)點(diǎn)遷移詳解

    Redis源碼解析:集群手動(dòng)故障轉(zhuǎn)移、從節(jié)點(diǎn)遷移詳解

    這篇文章主要介紹了Redis源碼解析:集群手動(dòng)故障轉(zhuǎn)移、從節(jié)點(diǎn)遷移的相關(guān)內(nèi)容,涉及通過(guò)集群定時(shí)器函數(shù)clusterCron實(shí)現(xiàn)從節(jié)點(diǎn)遷移等知識(shí),具有一定參考價(jià)值,需要的朋友可以了解。
    2017-10-10
  • Redis并發(fā)問(wèn)題解決方案

    Redis并發(fā)問(wèn)題解決方案

    在當(dāng)前的互聯(lián)網(wǎng)環(huán)境中,高并發(fā)業(yè)務(wù)場(chǎng)景十分常見(jiàn),本文就來(lái)介紹一下Redis并發(fā)問(wèn)題解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • Redis集合類型的常用命令小結(jié)

    Redis集合類型的常用命令小結(jié)

    這篇文章給大家整理了在操作Redis集合類型中的常用命令,文章總結(jié)的很全面,對(duì)大家學(xué)習(xí)Redis具有一定的參考借鑒價(jià)值,下面來(lái)一起看看吧。
    2016-09-09
  • 使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問(wèn)題

    使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問(wèn)題

    這篇文章主要介紹了使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Redis解決緩存一致性問(wèn)題

    Redis解決緩存一致性問(wèn)題

    本文主要介紹了Redis?解決緩存一致性問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • NestJS+Redis實(shí)現(xiàn)手寫一個(gè)限流器

    NestJS+Redis實(shí)現(xiàn)手寫一個(gè)限流器

    限流是大型系統(tǒng)必備的保護(hù)措施,本文將結(jié)合redis , lua 腳本 以及 Nestjs Guard 來(lái)實(shí)現(xiàn) 限流的效果,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Redis shake實(shí)現(xiàn)可視化監(jiān)控的示例代碼

    Redis shake實(shí)現(xiàn)可視化監(jiān)控的示例代碼

    Redis可視化監(jiān)控是通過(guò)監(jiān)控Redis服務(wù)器的各項(xiàng)指標(biāo)和狀態(tài),并將其以可視化的方式展示給用戶,本文給大家介紹了Redis shake實(shí)現(xiàn)可視化監(jiān)控,并通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Redis cluster集群的介紹

    Redis cluster集群的介紹

    今天小編就為大家分享一篇關(guān)于Redis cluster集群的介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Redis中key過(guò)期策略的實(shí)現(xiàn)

    Redis中key過(guò)期策略的實(shí)現(xiàn)

    Key的過(guò)期機(jī)制是Redis保持高可用性的重要策略,過(guò)期策略分為惰性過(guò)期和定期過(guò)期,惰性過(guò)期在每次訪問(wèn)key時(shí)檢查是否過(guò)期,定期過(guò)期則由serverCron方法定時(shí)清理過(guò)期key,本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下
    2024-09-09
  • Redis數(shù)據(jù)庫(kù)的鍵管理示例詳解

    Redis數(shù)據(jù)庫(kù)的鍵管理示例詳解

    這篇文章主要為大家介紹了Redis數(shù)據(jù)庫(kù)的鍵管理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評(píng)論