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

SADD,SMEMBERS

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Redis数据类型Set 随笔 第1张

SISMEMBER

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

Redis数据类型Set 随笔 第2张

SINTER

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

Redis数据类型Set 随笔 第3张

SPOP

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

Redis数据类型Set 随笔 第4张

SUNIONSTORE

Redis数据类型Set 随笔 第5张

Redis数据类型Set 随笔 第6张

 

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

SCARD

Redis数据类型Set 随笔 第7张

SRANDMEMBER

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

Redis数据类型Set 随笔 第8张

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();
        }
    }

Redis数据类型Set 随笔 第9张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄