Skip to Content
产品应用应用场景存储社交关系

存储社交关系

譬如将用戶的好友/粉丝/关注,可以存在一个set中,这样求两个人的共同好友的操作,只需要用sinter交集命令即可;也可以进行并集,差集操作。

import java.util.Set; import redis.clients.jedis.Jedis; public class CommonFriends { public static void main(String[] args) { String host = "127.0.0.1"; int port = 10011; Jedis jedis = new Jedis(host, port); //my friends jedis.sadd("myfriends", "John"); jedis.sadd("myfriends", "Emliy"); jedis.sadd("myfriends", "Ben"); jedis.sadd("myfriends", "Steven"); System.out.println("my friends are: "); Set<String> myList = jedis.smembers("myfriends"); for (String item:myList) { System.out.print(item+" "); } //your friends jedis.sadd("yourfriends", "Mark"); jedis.sadd("yourfriends", "Tim"); jedis.sadd("yourfriends", "Willim"); jedis.sadd("yourfriends", "Ben"); jedis.sadd("yourfriends", "Steven"); System.out.println("\n"); System.out.println("your friends are: "); Set<String> yourList = jedis.smembers("yourfriends"); for (String item:yourList) { System.out.print(item+" "); } //our common friends System.out.println("\n"); System.out.println("our common friends are: "); Set<String> commonList = jedis.sinter("myfriends","yourfriends"); for (String item:commonList) { System.out.print(item+" "); } jedis.close(); } }

输出:

my friends are: Steven Emliy John Ben your friends are: Steven Mark Tim Ben Willim our common friends are: Steven Ben