首页 > 数据库 >5.Redis系列之常用数据类型集合Set

5.Redis系列之常用数据类型集合Set

时间:2022-10-31 20:56:36浏览次数:64  
标签:username Set 0.1 数据类型 Redis 6379 127.0 integer shenjian

本文讲解redis常用数据类型集合Set的基本操作与数据结构

1. 基本操作

# sadd集合添加元素
127.0.0.1:6379> sadd username shenjian shenjian domi jing
(integer) 3
# smembers取出集合中所有元素
127.0.0.1:6379> smembers username
1) "shenjian"
2) "domi"
3) "jing"
# sismember查看元素是否在集合中,1是 0否
127.0.0.1:6379> sismember username shenjian
(integer) 1
# scard返回集合大小
127.0.0.1:6379> scard username
(integer) 3
# srem删除集合中指定元素
127.0.0.1:6379> srem username jing
(integer) 1
# spop随机从结合中抛出n个数元素
127.0.0.1:6379> spop username 1
1) "domi"
127.0.0.1:6379> sadd username zhangsan lisi
(integer) 2
# srandmember从集合中随机取出n个值,但不会删除
127.0.0.1:6379> srandmember username 1
1) "shenjian"
127.0.0.1:6379> sadd age 20
(integer) 1
# smove <source> <destination> member把源集合中元素移动到目标集合中
127.0.0.1:6379> smove username age shenjian
(integer) 1
127.0.0.1:6379> smembers age
1) "shenjian"
2) "20"
127.0.0.1:6379> sadd username shenjian
(integer) 1
#  sinter取集合交集
127.0.0.1:6379> sinter username age
1) "shenjian"
# sunion取集合并集
127.0.0.1:6379> sunion username age
1) "shenjian"
2) "zhangsan"
3) "20"
4) "lisi"
# sdiff取集合差集
127.0.0.1:6379> sdiff username age
1) "zhangsan"
2) "lisi"

2. 数据结构

127.0.0.1:6379> object encoding username
"hashtable"
127.0.0.1:6379> sadd number 1 2 3
(integer) 3
127.0.0.1:6379> object encoding number
"intset"
127.0.0.1:6379> sadd number shen
(integer) 1
127.0.0.1:6379> object encoding number
"hashtable"

由上可知,Set底层数据结构为整数集合intset和字典hashtable,其中intset可以理解为一种特殊的数组,而hashtable就是普通的哈希表

欢迎关注公众号算法小生沈健的技术博客查看最新文章

标签:username,Set,0.1,数据类型,Redis,6379,127.0,integer,shenjian
From: https://www.cnblogs.com/shenjian-online/p/16845755.html

相关文章

  • 6.Redis系列之常用数据类型有序集合Zset
    本文学redis常用数据类型有序集合Zset基本操作与底层数据结构1.基本操作#zadd<key><score><member>将多个member元素及其score值加入有序集合key中127.0.0.1:6379>......
  • redis 安装
    基于CenterOS7安装Redis下载安装包   wgethttp://download.redis.io/releases/redis-5.0.0.tar.gz解压安装包    tar–xvfredis-5.0.0.tar.gz编译(在解压......
  • 非关系型数据库 之 Key-Value数据库 Redis的使用(Python3)
    文章目录​​1、Redis简介​​​​1.1、简述​​​​1.2、特点​​​​1.3、优势​​​​2、CentOS操作Redis​​​​2.1、安装启动​​​​2.1.1、安装​​​​2.1.2、......
  • 注释,标识符,数据类型笔记
    注释单行注释:只能注释当前行,以//开始,直到行结束//输出HelloWorld!多行注释:注释一段文字,以/开始,/结束!/*这是我们Java程序的主入口,main方法也是程序的主线程。*/文......
  • how to fix setup/hold timing violations
    FixsetupFixholdsetup/hold互卡: 从成因上来说,setup&hold互卡主要有几种因素的影响:a) 不同PVT条件下的celldelayvariation较大b) 某些cell的librarysetup ti......
  • Redis实现分布式锁
    importredisimporttimeS_REDIS=redis.Redis(host='10.127.0.0',port='8088',db=9,password='test',decode_responses=True,retry_o......
  • redis限流和滑动窗口限流
     一、redissetnx实现限流 比如我们需要在10秒内限定20个请求,那么我们在setnx的时候可以设置过期时间为当前时间戳+10s,使用setnx设置20个互不相同的key,当请求的s......
  • Linux下磁盘管理工具:hdparm/iostat/parted/fdiisk/badblocks/smartctl/losetup/sg3_ut
    一、hdparm:    hdparm可以检测,显示与设定IDE,SCSI,SATA,SAS硬盘的硬件参数,    如:hdparm-I/dev/sdc可以获取sdc的硬件信息    hdparm-W0/de......
  • Redis系列8:Bitmap实现亿万级数据计算
    Redis系列1:深刻理解高性能Redis的本质Redis系列2:数据持久化提高可用性Redis系列3:高可用之主从架构Redis系列4:高可用之Sentinel(哨兵模式)Redis系列5:深入分析Cluster集......
  • 3主3从redis集群扩缩容配置案例
    1、环境准备#关闭防火墙systemctlstopfirewalld#查看防火墙状态systemctlstatusfirewalld#拉取redis:6.0.8镜像dockerpullredis:6.0.8  2、新建6个doc......