예제 #1
0
        public void Set()
        {
            //应用场景:
            //Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,
            //set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。
            //比如在微博应用中,每个人的好友存在一个集合(set)中,这样求两个人的共同好友的操作,可能就只需要用求交集命令即可。
            //Redis还为集合提供了求交集、并集、差集等操作,可以非常方便的实

            var redis = new RedisHelper();

            redis.AddItemToSet("A", "B");
            redis.AddItemToSet("A", "C");
            redis.AddItemToSet("A", "D");
            redis.AddItemToSet("A", "E");
            redis.AddItemToSet("A", "F");
            redis.AddItemToSet("A", "F");

            redis.AddItemToSet("B", "C");
            redis.AddItemToSet("B", "F");

            //求差集
            Console.WriteLine("A,B集合差集");
            redis.GetDifferencesFromSet("A", "B").ToList<string>().ForEach(e => Console.Write(e + ","));

            //求集合交集
            Console.WriteLine("\nA,B集合交集");
            redis.GetIntersectFromSets(new string[] { "A", "B" }).ToList<string>().ForEach(e => Console.Write(e + ","));

            //求集合并集
            Console.WriteLine("\nA,B集合并集");
            redis.GetUnionFromSets(new string[] { "A", "B" }).ToList<string>().ForEach(e => Console.Write(e + ","));
        }