zoukankan      html  css  js  c++  java
  • Redis之Set 集合

    Redis Set 集合

    Set 就是一个集合,集合的概念就是一堆不重复值的组合。利用 Redis 提供的 Set 数据结构,可以存储一些集合性的数据。

    比如在 微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。
    因为 Redis 非常人性化的为集合提供了 求交集、并集、差集等操作, 那么就可以非常方便的实现如共同关注、共同喜好、二度好友等功能, 对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集合中。

    应用场景

    1.共同好友、二度好友

    2.利用唯一性,可以统计访问网站的所有独立 IP

    3.好友推荐的时候,根据 tag求交集,大于某个 临界值 就可以推荐

    案例

    以王宝强和马蓉为例,求二度好友,共同好友,推荐系统

    127.0.0.1:6379> sadd marong_friend songdandan
    (integer) 1
    127.0.0.1:6379> sadd marong_friend wangsicong
    (integer) 1
    127.0.0.1:6379> sadd marong_friend songzhe
    (integer) 1
    127.0.0.1:6379> SMEMBERS marong_friend
    1) "songzhe"
    2) "wangsicong"
    3) "songdandan"
    127.0.0.1:6379> sadd wangbaoqiang_friend dengchao
    (integer) 1
    127.0.0.1:6379> sadd wangbaoqiang_friend angelababy
    (integer) 1
    127.0.0.1:6379> sadd wangbaoqiang_friend songzhe
    (integer) 1

    #求共同好友
    127.0.0.1:6379> SINTER marong_friend wangbaoqiang_friend
    1) "songzhe"

    #推荐好友系统
    127.0.0.1:6379> SDIFF marong_friend wangbaoqiang_friend
    1) "wangsicong"
    2) "songdandan"
    127.0.0.1:6379>

  • 相关阅读:
    移动端触摸右侧菜单栏,页面内容对应项滚动到最上方
    swiper使用中一些点的总结
    javaScript正则表达式入门
    javaScript之数组操作方法(一)
    初识vue
    焦点控制切换和轮播
    文本内容只显示两行,然后加...
    图片父容器高度不定的图片垂直居中
    css3图片垂直居中
    【C#】两个list根据某个元素比较差集
  • 原文地址:https://www.cnblogs.com/wzjbg/p/6597394.html
Copyright © 2011-2022 走看看