zoukankan      html  css  js  c++  java
  • 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();
            }
        }

  • 相关阅读:
    Control.CheckForIllegalCrossThreadCalls
    c#禁止Webbrowser控件的弹出脚本错误对话框
    c#,WebBrowser 判断网页是否加载完毕
    c#里的动态数组ArrayList
    C#数据类型转换
    Net2.0 的新线程 ParameterizedThreadStart &BackgroundW
    在C#中使用委托的方式触发事件
    ASP.NET运行原理
    第六讲:ObjC 内存管理4 自动释放池
    第二讲:ObjC 点语法
  • 原文地址:https://www.cnblogs.com/lgxlsm/p/10719141.html
Copyright © 2011-2022 走看看