redis使用場景之set(三)---交併差操作及應用場景

抖音、微博等軟件經常給我們推薦一些可能認識的人,還有某個人是你哪些朋友共同的好友,昨天是520,有人跟我說昨天晚上刷抖音刷到了她的前男友,明明早已刪除,爲何系統還能推薦給她,這絕非偶然,今天我們就揭開這些功能的神祕面紗。

業務場景

脈脈爲了促進用戶間的交流,保障業務成單率的提升,需要讓每位用戶擁有大量的好友,事實上職場新人不具有更多的職場好友,如何快速讓用戶積累更多的好友?

新浪微博爲了增加用戶熱度,提高用戶留存性,需要微博用戶在關注更多的人,以此獲得更多的信息或熱門話題,如何提高用戶關注他人的總量?

qq新用戶入網年齡越來越低,這些用戶的朋友圈交際圈非常小,往往集中在一所學校甚至一個班級中,如何幫助用戶快速積累好友用戶帶來更多的活躍度?

微信公衆號是微信信息流通的渠道之一,增加用戶關注的公衆號成爲提高用戶活躍度的一種方式,如何幫助用戶積累更多關注的公衆號?

美團外賣爲了提升成單量,必須幫助用戶挖掘美食需求,如何推薦給用戶最適合自己的美食?

解決方案

  • 求兩個集合的交、並、差集
sinter key1 [key2]

sunion key1 [key2]
  • 求兩個集合的交、並、差集並存儲到指定集合中
sinterstore destination key1 [key2]

sunionstore destination key [key2]

sdiffstore destination key1 [key2]
  • 將指定數據從原始集合中移動到目標集合中
smove source destination member

總結:

  1. Redis 應用於同類信息的關聯搜索,二度關聯搜索,深度關聯搜索
  2. 顯示共同關注(一度)
  3. 顯示共同好友(一度)
  4. 由用戶A出發,獲取到好友用戶B的好友信息列表(一度)
  5. 由用戶A出發,獲取到好友用戶B的購物清單列表(二度)
  6. 由用戶A出發,獲取到好友用戶B的遊戲充值列表(二度)

Set類型數據操作的注意事項

  1. Set類型不允許數據重複,如果添加的數據在set中已經存在,將只保留一份
  2. Set雖然與hash的存儲結構相同,但是無法啓用hash中存儲值的空間
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章