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的更多相关文章

  1. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  2. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  3. Redis数据类型介绍

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  4. redis数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  5. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

  6. Lua 数据类型和 Redis 数据类型之间转换

    当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...

  7. redis数据类型-散列类型

    Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...

  8. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

  9. redis笔记总结之redis数据类型及常用命令

    三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...

  10. redis介绍、安装、redis持久化、redis数据类型

    1.redis介绍  2.安装管网:https://redis.io/下载:wget -c http://download.redis.io/releases/redis-4.0.11.tar.gz解 ...

随机推荐

  1. chrome主页篡改解决方法

    网上有一个超级细致的小白教学连接,但是发现很难找到,分享一下:https://arlenluo.github.io./2017/03/12/DefeatYourBrowser 还有一种情况是要打开 & ...

  2. Docker 介绍及基础命令

    Docker 简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linu ...

  3. jmeter 多个sql写在一个jdbc请求中注意事项

    在url里面加上?allowMultiQueries=true 类型选callableStatement

  4. (七) UVC框架分析

    title: UVC框架分析 date: 2019/4/23 19:50:00 toc: true --- UVC框架分析 源码的位置在drivers\media\video\uvc,查看下Makef ...

  5. Neo4j使用

    一.删除图 在开发过程中,很多时候需要快(简)速(单)清(粗)除(暴)Neo4j中存在的海量数据节点和关系数据 在这种情况下,delete和detach从性能上都已力不从心.Neo4j官方推荐清库方法 ...

  6. Jenkins_安装

    1.下载war包 wget -c -O ./jenkins.war http://mirrors.jenkins.io/war-stable/latest/jenkins.war 2.启动下载好的wa ...

  7. python3导入sqlite3报错

    今天把本地运行OK的scrapy爬虫程序捣鼓到服务器上运行,结果报了以下错误 2018-10-11 19:00:19 [twisted] CRITICAL: Unhandled error in De ...

  8. laravel-mix的安装

    Laravel-mix的安装 Laravel Mix 是一款前端任务自动化管理工具,使用了工作流的模式对制定好的任务依次执行.Mix 提供了简洁流畅的 API,让你能够为你的 Laravel 应用定义 ...

  9. java实现多个文件以压缩包导出到本地

    描述:使用java将多个文件同时压缩为压缩包,并导出到本地 /** *压缩文件并导出 */ public static void zipFiles() throws IOException { Fil ...

  10. 为什么HashMap线程不安全,Hashtable和ConcurrentHashMap线程安全

    HashMap源码 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } final ...