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

  • 相关阅读:
    ASP.NET MVC5写.php路由匹配时的问题 ASP.NET MVC 4 在 .NET 4.0 与.NET 4.5 的專案範本差異
    asp.net mvc上传头像加剪裁功能介绍
    图片延迟加载实现
    c#中多线程访问winform控件的若干问题
    C# WinForm实现控件拖动实例介绍
    C# 实现对窗体(Form)换肤
    C#读写txt文件的两种方法介绍
    C#实现JSON序列化与反序列化介绍
    高效的VS调试技巧
    SQL 添加字段和默认值脚本
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/10719141.html
Copyright © 2020-2023  润新知