C# 通过ServiceStack 操作Redis——Set类型的使用及示例
ServiceStack 程序集里面没有方法注解,我在这里将注解添加上去,有不当之处,欢迎指正
Console.WriteLine("---Set类型---");
//添加 setId集合中添加item值
client.AddItemToSet(setId, item);
//setId集合中添加多个item
client.AddRangeToSet(setId,items);
//获取 随机获取setId集合中的一个值
client.GetRandomItemFromSet(setId);
//获取setId集合值的数量
client.GetSetCount(setId);
// 获取setId集合中所有的值
client.GetAllItemsFromSet(setId);
// 随机删除setId集合中的一个值
client.PopItemFromSet(setId);
// 删除setId集合中的item
client.RemoveItemFromSet(setId, item);
//从fromSetId集合中移除值为item的值,并把item添加到toSetId集合中
client.MoveBetweenSets(fromSetId, toSetId, item);
//返回多个setId集合中的并集,返还hashset
client.GetUnionFromSets(setIds);
//返回多个setId集合中的交集,返还hashset
client.GetIntersectFromSets(setIds);
//返回fromSetId 与多个withSetId集合中的差集,返还hashset
client.GetDifferencesFromSet(fromSetId, withSetIds);
// 多个setId集合中的并集,放入intoSetId集合中
client.StoreUnionFromSets(intoSetId, setIds);
//把fromSetId集合中的数据与withSetIds集合中的数据对比,fromSetId集合中不存在keys集合中,则把这些不存在的数据放入intoSetId集合中
client.StoreDifferencesFromSet(intoSetId, fromSetId, withSetIds);
下面是数据输入
//1.添加,value不重复,添加多个Marren1也只有一个
//单个添加 关注刘备的用户
client.AddItemToSet("刘备", "小1");
client.AddItemToSet("刘备", "小2");
client.AddItemToSet("刘备", "小2");
client.AddItemToSet("刘备", "小3");
client.AddItemToSet("刘备", "小3");
client.AddItemToSet("刘备", "小3");
client.AddItemToSet("刘备", "小4");
client.AddItemToSet("刘备", "小5");
client.AddItemToSet("刘备", "小6");
client.AddItemToSet("刘备", "小7");
client.AddItemToSet("刘备", "小8");
client.AddItemToSet("刘备", "小8");
//2.获取setId集合的数量
long count1= client.GetSetCount("刘备");
//3.判断setId中是否包含指定值
bool b1=client.SetContainsItem("刘备", "小5");
//4.随机获取setId集合中的一个值
string value1=client.GetRandomItemFromSet("刘备");
//5.获取setId中的所有值
HashSet<string> user1= client.GetAllItemsFromSet("刘备");
效果图

删除几条数据
//6. 删除setId中指定value
client.RemoveItemFromSet("刘备", "小6");
//7. 随机删除setId集合中的一个值,并返回该值
string value2=client.PopItemFromSet("刘备");
// 随机删除setId集合中的2个值,并返回这2个值
List<string> value3 = client.PopItemsFromSet("刘备", 2);

再添加一个集合 “张飞”
//多添加 关注张飞的用户
List<string> items = new List<string>() { "小1", "小12", "小3", "小3", "小3", "小14", "小5" , "小16", "小7", "小8", "小18" };
client.AddRangeToSet("张飞", items);
HashSet<string> user2 = client.GetAllItemsFromSet("张飞");

下面就是集合一些操作:交、并、差、补
//获取交集
HashSet<string> data1=client.GetIntersectFromSets("刘备", "张飞");
//获取并集
HashSet<string> data2 = client.GetUnionFromSets("刘备", "张飞");
//获取差集
HashSet<string> data3 = client.GetDifferencesFromSet("刘备","张飞");
//补集
client.StoreDifferencesFromSet("关羽", "刘备", "张飞");
HashSet<string> data4 = client.GetAllItemsFromSet("关羽");


C# 通过ServiceStack 操作Redis——Set类型的使用及示例的更多相关文章
- C# 通过ServiceStack 操作Redis——String类型的使用及示例
1.引用Nuget包 ServiceStack.Redis 我这里就用别人已经封装好的Reids操作类,来演示,并附上一些说明 RedisConfigInfo--redis配置文件信息 /// < ...
- C# 通过ServiceStack 操作Redis——List类型的使用及示例
Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销, /// <summary> /// Redis list的实现为一个双向链表 ...
- C# 通过ServiceStack 操作Redis——ZSet类型的使用及示例
Sorted Sets是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score 进行有序排列 /// <summary> /// Sorted Sets是将 ...
- servicestack操作redis
tatic void Main(string[] args) { );//redis服务IP和端口 #region =insert= var storeMembers = new List<st ...
- go使用go-redis操作redis 连接类型,pipline, 发布订阅
内容: 一 . 客户端Client(普通模式,主从模式,哨兵模式)二. conn连接(连接, pipline, 发布订阅等)三. 示例程序(连接, pipline, 发布订阅等)客户端Client 普 ...
- python 操作redis数据
python 操作redis 各种类型的数据 # encoding:utf-8 import redis import time def main(): """ redi ...
- python操作Redis安装、支持存储类型、普通连接、连接池
一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ...
- 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表
python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...
- 第二百九十八节,python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表
python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表 sadd(name,values)name对应的集合中添加元素 #!/usr/bin/env python # -*- ...
随机推荐
- Kubernets二进制安装(13)之部署Flannel
Flannel简介 Flannel是CoreDNS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址 ...
- 美团CodeM资格赛第二题
锦标赛 时间限制:1秒 空间限制:32768K 组委会正在为美团点评CodeM大赛的决赛设计新赛制.比赛有 n 个人参加(其中 n 为2的幂),每个参赛者根据资格赛和预赛.复赛的成绩,会有不同的积分. ...
- Linux 驱动框架---驱动中的中断
在单片机开发中中断就是执行过程中发生了一些事件需要及时处理,所以需要停止当前正在运行的处理的事情转而去执行中断服务函数,已完成必要的事件的处理.在Linux中断一样是如此使用但是基于常见的中断控制器的 ...
- 修改jupyter-notebook的python3版本
将默认的kernel修改为对应的python即可: /home/a/.virtualenvs/YOUR_VENV/bin/python -m pip install ipykernel /home/a ...
- css & auto height & overflow: hidden;
css & auto height & overflow: hidden; {overflow: hidden; height: 100%;} is the panacea! {溢出: ...
- SVG 场馆图
SVG 场馆图 https://www.infoq.cn/article/1BVg9VDSmqyHv3W3TeNH https://mp.weixin.qq.com/s/aNPAfJIHL14NFtL ...
- VAST维萨币二月发行,高倍币重现江湖!
市场长期的历史经验表明,经营盈利能力最好的企业,经常是那些现在的经营方式与5年前甚至10年前几乎完全相同的企业.这个经营模式放到币圈也是一样的,2020年的挖矿是最火的,这个模式现在在市场也同样受用. ...
- Word带数学公式发布博客
Word公式编辑器无法直接上传博客,一个一个的转换LaTeX还要加$,十分麻烦. 下面是我昨天摸索出来的办法.作为博客新人,这个问题困扰我一晚上,能解决我也是非常高兴的. 如果各位前辈有好方法的话,请 ...
- 【转】ICP算法(Iterative Closest Point迭代最近点算法)
原文网址:https://www.cnblogs.com/sddai/p/6129437.html.转载主要方便随时可以查看,如有版权要求请及时联系. 最近在做点云匹配,需要用c++实现ICP算法,下 ...
- 05_MySQL什么是sql语句
什么是SQL语言 SQL语言的分类 SQL语言的注意事项 SQL语句的注释 数据的创建.查看及删除 实操: 创建数据表 实操: 数据表的其他操作 查看数据库的数据表 查看表结构: 查看建表语句: