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();
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的更多相关文章
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
- redis数据类型及使用场景
Redis数据类型 String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令: set,get,decr,incr,mge ...
- Redis数据类型介绍
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- redis数据类型
Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...
- Redis-cluster集群【第一篇】:redis安装及redis数据类型
Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...
- Lua 数据类型和 Redis 数据类型之间转换
当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...
- redis数据类型-散列类型
Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- redis笔记总结之redis数据类型及常用命令
三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...
- redis介绍、安装、redis持久化、redis数据类型
1.redis介绍 2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...
随机推荐
- logstash 自动重新加载配置
自动重新加载配置 为了可以自动检测配置文件的变动和自动重新加载配置文件,需要在启动的时候使用以下命令: ./bin/lagstash -f configfile.conf --config.reloa ...
- (转)学习HTML5 Canvas这一篇文章就够了
作者:做人要厚道2013 原文:https://blog.csdn.net/u012468376/article/details/73350998
- 逆FizzBuzz问题求最短序列
问题描述 FizzBuzz问题:一个大于0的自然数能整除3,将输出“Fizz”:能整除5,将输出“Buzz”:能整除3和5,将输出“FizzBuzz”:否则输出自己. 逆FizzBuzz问题最短序列: ...
- 内核空间内存申请函数kmalloc kzalloc vmalloc的区别
我们都知道在用户空间动态申请内存用的函数是 malloc(),这个函数在各种操作系统上的使用是一致的,对应的用户空间内存释放函数是 free().注意:动态申请的内存使用完后必须要释放,否则会造成内存 ...
- Qt(MinGW版)在win7 64位上无法播放视频解决方案
[原因分析] Qt自带的MinGW是32位版本,不支持64位的ffmpeg(解码器). 无法播放视频,问题就出在opencv_ffmpeg2411_64.dll(opencv\bin\)上. [解决方 ...
- beego学习1
下载 go get -u -v github.com/astaxie/beego beego源码 go get -u -v github.com/beego/bee bee开发工具 bee ...
- 计算机网络之iframe内联框架跨域
iframe框架同源下的数据调用 iframe框架非同源下的数据传输 一.iframe框架同源下的数据调用 1.父窗口向子窗口获取数据 //html1父级窗口 <iframe src=" ...
- localhost 将您重定向的次数过多
localhost 将您重定向的次数过多 问题描述:在项目中,出现 localhost 将您重定向的次数过多 ,有可能是因为设置重定向的时候,自己重定向到自己,或者重定向成环,导致无限的重定向.检查重 ...
- 编译VisualVM源码解决乱码问题
编译VisualVM源码解决乱码问题 起因 今天在使用VisualVM对测试服务器进行JVM监控的时候,发现所有统计图的横纵坐标都是显示乱码(小方块),即使我的Ubuntu系统使用的是英文语言环境.奇 ...
- P3203 [HNOI2010]弹飞绵羊
LCT裸题,之后填坑打一下 分块做法:每个点存几次出块以及出块的位置,问的时候直接暴力跳就vans了 首先思考最普通的模拟,发现可以O(n)路径压缩,O(1)的查询,但是需要修改就变成了O(n^2)的 ...