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 # -*- ...
随机推荐
- Python-collections模块之defaultdict
defaultdict defaultdict 是 dict 类型的子类,正如其名,初始化时,可以给key指定默认值,什么意思呢?直接看代码.如果是普通的dict对象,访问一个不存在的key时,会报错 ...
- python工业互联网应用实战6—任务分解
根据需求定义"任务"是一个完整的业务搬运流程,整个流程涉及到多个机构(设备)分别动作执行多个步骤,所以依据前面的模型设计,需要把任务分解到多个连续的子任务(作业),未来通过顺序串联 ...
- spring-cloud-netflix-hystrix-turbine
Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...
- MarkDown语法详解
MarkDown语法详解 编辑器:Typora 下载官网:https://typora.io 提速镜像:https://gitee.com/typora-mirror/Typora-Mirror/re ...
- vue watch All In One
vue watch All In One var vm = new Vue({ data: { a: 1, b: 2, c: 3, d: 4, e: { f: { g: 5 } } }, watch: ...
- Vue & Sentry sourcemaps All In One
Vue & Sentry sourcemaps All In One vue & sentry & sourcemaps https://docs.sentry.io/plat ...
- H5 CSS 悬浮滚动条
H5 CSS 悬浮滚动条 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- 2018 free pdf ebooks
2018 free pdf ebooks https://gist.github.com/xgqfrms-GitHub/f606efb0d4bce884c873518647e79f2f https:/ ...
- React Hooks vs React Class vs React Function All In One
React Hooks vs React Class vs React Function All In One React Component Types React Hooks Component ...
- how to make one you own free online tutorials in minutes
how to make one you own free online tutorials in minutes educative.io https://www.educative.io/colle ...