Redis数据类型Set

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

SADD,SMEMBERS

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

Redis数据类型Set

SISMEMBER

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

Redis数据类型Set

SINTER

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

Redis数据类型Set

SPOP

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

Redis数据类型Set

SUNIONSTORE

Redis数据类型Set

Redis数据类型Set

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

SCARD

Redis数据类型Set

SRANDMEMBER

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

Redis数据类型Set

C#操作SET

    class Program
{
static void Main(string[] args)
{
ConnectionMultiplexer connectionMultiplexer = ConnectionMultiplexer.Connect("120.132.116.153:6379");
IDatabase database = connectionMultiplexer.GetDatabase();
database.KeyDelete("set1");
database.KeyDelete("set2");
//SADD
database.SetAdd("set1", new RedisValue[] { , , , , , , });
//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[] { , , });
//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

上一篇:visual studio code——运行python


下一篇:Spring-boot 最小demo