首先,我们要查出两个人是否是好友关系(互关状态)

我们可以用Redis 的set 存set user:1:funs  值  (set是无序不可重复的)

user:1:fans [2,3,4] //关注用户1的粉丝
user:1:follows [2,5,7,8] //用户1关注的

user:2:fans [1,3,4] //关注用户2的粉丝
user:2:follows [1,7,8] //用户2关注的

我们取出user:1:fans和user:1:follows的交集就是user1的好友列表了,

我们取出user:1:follows和user:2:follows的交集就是user1和user2的共同好友列表,

那么我们可以用什么方式取交集?

set的sinner可以获取交集

指令:

smember user:1:follows  //可取出user1的关注列表
sinter user:1:follows user:2:follows   //    获得user1,user2的共同好友
sinterstore userfriends user:1:follows user:2:follows
//获取共同好友之后,将共同好友名单存入userfriends里

用Redis存取两个人的共同好友名单相关推荐

  1. java连接redis存取数据(详细)

    声明:本文章仅供参考,学无止境,若有不足之处请指出,非常感谢! 源代码+相关工具下载:https://download.csdn.net/download/corleone_4ever/1081125 ...

  2. 【Caffeine进阶】Redis+Caffeine 两级缓存实战,性能爆缸

    往期回顾 博主前面发过一篇[缓存框架Caffeine]初级篇,主要介绍了Caffeine的入门级使用!地址https://blog.csdn.net/Number_oneEngineer/articl ...

  3. 函数指针--Nginx和Redis中两种回调函数写法

    1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...

  4. Redis的两种消息模式

    Redis的两种消息模式 队列模式 发布订阅模式 队列模式 队列模式下每个消费者可以同时从多个服务器读取消息,但是每个消息只能被一个消费者读取. 在队列模式下其实每次插入的数据都是载入在最前面的,而先 ...

  5. Redis的两种持久化方式

    Redis的高性能是由于其将所有的数据都存储在了内存中,为了使Redis在重启之后仍然能保证数据不丢失,需要将数据存内存中同步到硬盘中,这一过程就是持久化.Redis支持两种方式的持久化,一种是RDB ...

  6. Spring+Dubbo集成Redis的两种解决方案

    Spring+Dubbo集成Redis的两种解决方案 参考文章: (1)Spring+Dubbo集成Redis的两种解决方案 (2)https://www.cnblogs.com/yclimb/p/9 ...

  7. hadoop入门6:hadoop查询两两之间有共同好友,及他俩的共同好友都是谁

    A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E,O,M G:A,C,D,E,F H:A,C,D,E,O I:A, ...

  8. Redis源码-Set:Redis Set存储原理、Redis Set集合操作命令、Redis Set两种存储底层编码intset+hashtable、Redis Set应用场景

    Redis源码-Set:Redis Set存储原理.Redis Set集合操作命令.Redis Set两种存储底层编码intset+hashtable.Redis Set应用场景 Redis数据类型 ...

  9. redis存取list<T>,及bug:Failed to serialize object of type: class com.google.common.collect.Lists$Revers

    Redis存取List 实体类必须序列化,对于redis这种nosql数据库,实例化很重要,很多文章也都介绍了必须实例化,在配置redisTemplate时也会配置序列化规则: <bean id ...

最新文章

  1. 2022-2028年中国酱腌菜行业市场研究及前瞻分析报告
  2. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv3详解及复现
  3. Docker - 在CentOS7.5中升级Docker版本
  4. centos删除系统自带的httpd
  5. js获取已知scripts中是否存在某变量_JS全局变量是如何工作的?
  6. c++中实现delphi的按类名生成类对象
  7. 1月17日学习内容整理:Scrapy框架补充之pipeline,去重规则
  8. java 高级泛型_Java 泛型高级
  9. 错误An entity with the same identity already exists in this EntitySet RIA
  10. 中怎样载入选区_PS----关于选区的选取
  11. OSChina 周二乱弹 —— 加班的代码不要枉费了我的童子功
  12. 牛客网2018多校第一场J题
  13. java fake,FakeScript-Java 轻量级嵌入式脚本语言
  14. 算法(第四版) 2.1答案
  15. Oracle 10g 手工创建一个最简单的数据库
  16. C语言课程设计 简单的单词学习系统
  17. Word 转PDF图片不清晰解决方法
  18. 计算机休眠唤醒后没声音,MacBook Pro从睡眠模式中唤醒后突然没有声音
  19. 北京交通大学计算机仿真大作业直流调速系统仿真,计算机仿真技术大作业 12脉波整流电路仿真.doc...
  20. 只会写代码的程序员不是好程序员

热门文章

  1. 模拟转换芯片:ADC芯片参数及介绍
  2. 周纪四 赧王中十八年(甲子、前297)——摘要
  3. 关于extjs中的cls ≠ class
  4. 警告: 忽略额外的图例条目
  5. 【高效程序员系列】3 别碰鼠标——让键盘飞起来
  6. 创意h5游戏案例:记忆类H5手机游戏评测
  7. 软件工程基础知识复习宝典
  8. win10自带vc运行库吗?
  9. matlab 扫雷,matlab 扫雷
  10. Latex(1.1)——符号表