Redis数据类型Set

Redis的SET是无序的String集合,它里面的元素是不会重复的。

SADD,SMEMBERS

SADD命令会添加新元素到SET,可以看到一次性可以添加一个或多个元素。
SMEMBERS可以获取set里所有的元素,但是每次调用得到结果的顺序是无法保证的。

SISMEMBER

SISMEMBER可以判断某个元素是否在set里,返回1表示存在,0表示不存在

SINTER

SINTER可以查看多个set之间的交集

SPOP

SPOP可以随机从set中移除一个或多个元素并返回

SUNIONSTORE

如果只有一个set需要合并的话,那么就相当于是复制,原来的数据保留

SCARD

SRANDMEMBER

SRANDMEMBER可以随机获取set里面的元素,但是不会移除它们

C#操作SET

    class Program
    {
        static void Main(string[] args)
        {
            ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
            IDatabase database = connectionMultiplexer.GetDatabase(0);
            database.KeyDelete("set1");
            database.KeyDelete("set2");
            //SADD
            database.SetAdd("set1", new RedisValue[] { 0, 1, 2, 3, 4, 5, 6 });
            //SNENBERS
            var sets = database.SetMembers("set1");
            foreach (var set in sets)
            {
                Console.WriteLine($"{set}");
            }
            Console.WriteLine($"{database.SetContains("set1", 0)}");
            Console.WriteLine($"{database.SetContains("set1", 10)}");
            Console.WriteLine("---------------------------");
            //SADD
            database.SetAdd("set2", new RedisValue[] { 4, 5, 6 });
            //SINTER
            var sets1 = database.SetCombine(SetOperation.Intersect,
                new RedisKey[] {"set1", "set2"});
            foreach (var set in sets1)
            {
                Console.WriteLine($"{set}");
            }
            Console.WriteLine("---------------------------");
            //SUNIONSTORE
            var sets2 = database.SetCombine(SetOperation.Union,
                new RedisKey[] { "set1", "set2" });
            foreach (var set in sets2)
            {
                Console.WriteLine($"{set}");
            }
            Console.WriteLine("---------------------------");
            //SCARD
            Console.WriteLine($"{database.SetLength("set1")}");
            Console.WriteLine("---------------------------");
            //SRANDMEMBER
            Console.WriteLine($"{database.SetRandomMember("set1")}");
            Console.WriteLine($"{database.SetRandomMember("set1")}");
            Console.WriteLine($"{database.SetRandomMember("set1")}");
            Console.ReadLine();
        }
    }

原文地址:https://www.cnblogs.com/lgxlsm/p/10719141.html