首页 > 其他分享 >Set(集合)

Set(集合)

时间:2023-08-27 13:45:35浏览次数:26  
标签:Set 0.1 myset 6379 127.0 集合 integer SMEMBERS

Set(集合)

set中的值是不能重复的 并且这个集合是无序的

向set集合中加入值使用add方法

127.0.0.1:6379> sadd myset hello
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379>
#####################################
查看所有元素
127.0.0.1:6379> SMEMBERS myset
1) "hello"
2) "world"
127.0.0.1:6379>

可以查看集合中是否存在某个元素 SISMEMBER

127.0.0.1:6379> SMEMBERS myset
1) "hello"
2) "world"
127.0.0.1:6379> SISMEMBER myset hello
(integer) 1
127.0.0.1:6379> SISMEMBER myset hell
(integer) 0
127.0.0.1:6379>

获取这个集合有多少个元素

127.0.0.1:6379> SCARD myset
(integer) 2
127.0.0.1:6379>

移除集合中的某一个元素 使用srem 由于使用set 不可出现重复 所以这里和list不同的是没有指定数量这个参数

127.0.0.1:6379> SMEMBERS myset
1) "hello1"
2) "hello"
3) "world"
127.0.0.1:6379> SREM myset hello1
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "hello"
2) "world"
127.0.0.1:6379>

set集合也可实现抽一个随机的元素 使用SRANDMEMBER 可以指定随机抽出来几个元素


127.0.0.1:6379> SMEMBERS myset
1) "hello2"
2) "hello1"
3) "hello"
4) "world"
127.0.0.1:6379> SRANDMEMBER myset 2
1) "hello2"
2) "world"
127.0.0.1:6379>

删除一个元素 这个是随机的

127.0.0.1:6379> spop myset 2
1) "hello1"
2) "hello2"
127.0.0.1:6379>

移动一个元素到一个新的集合

127.0.0.1:6379> SMOVE myset set1 hello
(integer) 1
127.0.0.1:6379> keys *
1) "set1"
2) "myset"
127.0.0.1:6379> SMEMBERS set1
1) "hello"
127.0.0.1:6379> SMEMBERS myset
1) "world"
127.0.0.1:6379>

集合的交集并集差集

127.0.0.1:6379> sadd A a b c
(integer) 3
127.0.0.1:6379> sadd B b c d
(integer) 3
127.0.0.1:6379> SMEMBERS A
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> SMEMBERS B
1) "d"
2) "c"
3) "b"
127.0.0.1:6379> SDIFF A B 差集这里是以第一个集合和后续集合相比的差 abc 和bcd 按照第一个相比差集是a 反之是d
1) "a"
127.0.0.1:6379> SDIFF B A
1) "d"
127.0.0.1:6379>
####################################
交集
127.0.0.1:6379> SINTER A B
1) "c"
2) "b"
127.0.0.1:6379>
#######################################
并集
127.0.0.1:6379> SUNION A B
1) "c"
2) "b"
3) "a"
4) "d"
127.0.0.1:6379>

 

标签:Set,0.1,myset,6379,127.0,集合,integer,SMEMBERS
From: https://www.cnblogs.com/AnJiaYu/p/17660195.html

相关文章

  • Zset(有序集合)
    Zset(有序集合)添加一个和添加多个值127.0.0.1:6379>ZADDmyset1one(integer)1127.0.0.1:6379>ZADDmyset2two3three(integer)2127.0.0.1:6379>ZADDmyset3three3(integer)1127.0.0.1:6379>ZRANGEmyset0-11)"one"2)"two"3)"thr......
  • django 解决queryset惰性机制,实现实时查询
    django在第一次查询后,就把数据进行缓存。如果对数据进行操作后,再进行查询时直接去缓存中取而不去数据库查询,对于想要实时数据时这并不友好。在百度后解决方案如直:classTodayRecordView(viewsets.ModelViewSet):serializer_class=OrderRecordSerializerpagination_c......
  • 线程安全的集合
    目录多线程环境下使用Dictionary产生的问题何时使用线程安全集合解决办法相关参考.NET中的Dictionary是非线程安全的,在多线程环境中可能会导致CPU使用率为100%。多线程环境下使用Dictionary产生的问题关于C#中Dictionary多线程情况下CPU100%问题的详细分析关于C#的Dictionar......
  • JAVA 集合
    Java集合体系Java集合框架图Java集合主要分为两大类:实现了Collection接口的单列集合:实现了Map接口的双列集合:集合框架体系序号接口描述1Collection接口Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素,Java不提供直接继......
  • bitset优化01可行背包
    例题传送门:『STA-R3』Aulvwc先讲bitset用法:1,基础下标:\(5~4~3~2~1~0\)数字:\(0~0~0~0~1~0\)\(bitset\)<\(n\)>\(s\)表示一个\(n\)位的二进制数,空间复杂度:\(O(\frac{n}{32})\),可见其非常优秀因为其跟二进制有关,所以可以使用\(\&,|,\land\)对两个位数相同的\(bitset\)执行按......
  • 【873】Python读取NetCDF中的scale_factor和add_offset
    参考:python中scale的用法_在netCDF4和Python中使用scale_factor和add_offset的示例?参考代码:importnetCDF4asncdir_path="./2m_temperature/03_TIFF/"files=os.listdir(dir_path)files=sorted(files)forfileinfiles:iffile.find('.tiff')<......
  • openresty中几种重定向的差异比较(ngx.redirect、ngx.req.set_uri、ngx.exec)
    一.测试用的nginx.conf: userroot;worker_processes1;error_loglogs/error.log;events{worker_connections1024;}http{charsetutf-8;default_typeapplication/octet-stream; include/usr/local/openresty/nginx/conf/mime.typ......
  • 安装celery后,提示WARNING/MainProcess...you should set broker_connection_retry_on_
    调用了Celery的config_from_object方法,并新建文件celery_config.py存放设置 在celery中设置broker_connection_retry_on_startup=True 效果没有提示了。 ......
  • promise 并发请求-Promise.all()/Promise.allSettle()
    方法定义//request.js定义exportfunctionall(requests,callback){Promise.all(requests).then(params=>callback(params)).catch(error=>{console.error(error)})}exportfunctionallSettle(requests,callback){Promise.allSettl......
  • cmake中list,set的对字符串操作
    cmake中所有的对象都是string,所以我们对这些的操作就是对字符串的操作,里面提供追加和删除的方法 CMakeLists.txtcmake_minimum_required(VERSION3.15)project(test)#方式二file(GLOBSRC${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)message("=========================")m......