Redis set数据类型命令使用及应用场景使用总结
转载请注明出处:
目录
1.sadd 集合添加元素
sadd key value
添加元素示例:
127.0.0.1:6379> sadd action:10001 101 102 103 104
(integer) 4
127.0.0.1:6379> smembers action:10001
1) "101"
2) "102"
3) "103"
4) "104"
127.0.0.1:6379>
2.srem移除元素
srem key member
示例
127.0.0.1:6379> srem action:10001 101
(integer) 1
127.0.0.1:6379> srem action:10001 106
(integer) 0
127.0.0.1:6379>
元素存在移除成功返回1,不存在移除返回0
3.smembers 获取key的所有元素
smembers key
示例:
127.0.0.1:6379> smembers action:10001
1) "101"
2) "102"
3) "103"
4) "104"
4.scard 获取key的个数
scard key
示例:
127.0.0.1:6379> scard action:10001
(integer) 4
127.0.0.1:6379>
应用场景:多少人点赞,多少人评论,以及多少人关注等
5.sismember 判断member元素是否存在集合key中
sismember key member
示例
127.0.0.1:6379> sismember action:10001 102
(integer) 1
127.0.0.1:6379> sismember action:10001 109
(integer) 0
127.0.0.1:6379>
应用场景:检查用户是否点过赞或访问过
6.srandmember key count 从集合key中随机选出count个元素,元素不从key中删除
srandmember key count
示例
127.0.0.1:6379> srandmember action:10001 1
1) "104"
127.0.0.1:6379> srandmember action:10001 2
1) "104"
2) "103"
127.0.0.1:6379>
应用场景:随机抽取,并不从集合中移除随机抽取出的元素
7.spop 从集合key中随机选出count个元素,元素从key中删除
spop key count
示例
127.0.0.1:6379> spop action:10001 1
1) "103"
127.0.0.1:6379>
应用场景: 活动抽奖,从参与活动的set集合中,随机抽取出一等奖,二等奖等; 游戏场景中 给用户分配分区
8.sinter 交集运算
sinter key [key...]
示例:
127.0.0.1:6379> smembers action:10001
1) "101"
2) "102"
3) "104"
127.0.0.1:6379> smembers action:10002
1) "102"
2) "104"
3) "106"
4) "108"
127.0.0.1:6379> sinter action:10001 action:10002
1) "102"
2) "104"
127.0.0.1:6379>
应用场景:共同的好友,爱好等
9.sinterstore 将交集的结果存入到新集合destination中
sinterstore destination key [key....]
示例
127.0.0.1:6379> sinterstore common:action:10001 action:10001 action:10002
(integer) 2
127.0.0.1:6379> smembers common:action:10001
1) "102"
2) "104"
127.0.0.1:6379>
应用场景:共同的好友,爱好等
10.sunion 并集运算
sunion key [key ....]
示例
127.0.0.1:6379> sunion action:10001 action:10002
1) "101"
2) "102"
3) "104"
4) "106"
5) "108"
127.0.0.1:6379>
应用场景:获取集合间的所有元素
11.sunionstore 将并集结果存入新集合destionation中
sunionstore destionation key [key.....]
示例
127.0.0.1:6379> sunionstore all:action:10001 action:10001 action:10002
(integer) 5
127.0.0.1:6379> smembers all:action:10001
1) "101"
2) "102"
3) "104"
4) "106"
5) "108"
127.0.0.1:6379>
应用场景:获取集合间的所有元素到新的集合
12.sdiff 差集运算
sdiff key [key....]
差集比较的是 前面第一个key中的元素在后面集合元素中比较,后面集合中包含key的元素
示例
127.0.0.1:6379> smembers action:10001
1) "101"
2) "102"
3) "104"
127.0.0.1:6379> smembers action:10002
1) "102"
2) "104"
3) "106"
4) "108"
127.0.0.1:6379> sdiff action:10001 action:10002
1) "101"
127.0.0.1:6379>
应用场景:可能认识的人
13.sdiffstore 将差集结果存入新的集合
sdiffstore destination key [key...]
示例
127.0.0.1:6379> sdiffstore diff:action:10001 action:10001 action:10002
(integer) 1
127.0.0.1:6379> smembers diff:action:10001
1) "101"
127.0.0.1:6379>
应用场景:可能认识的人
Redis set数据类型命令使用及应用场景使用总结的更多相关文章
- redis字符串数据类型基本概念和应用场景
基本概念:1.string类型是redis能与键关联的最简单的数据类型,它是memcached当中仅有的数据类型.2.redis的key名称也是一个字符串,当我们使用字符串类型作为其对应的值时,我们可 ...
- Redis基本数据类型命令汇总
前言 前阶段写Redis客户端作为学习和了解Redis Protocol,基本上把Strintg,List,Hash,Set,SortedSet五种基础类型的命令都写完了,本篇进行总结,也相当于复 ...
- redis的数据类型命令
存储sortedset: 存储:zadd key score menber1 score menber2 ... 升序排列:zrange key start end [withscores] 降序排列 ...
- Redis常用数据类型介绍、使用场景及其操作命令
Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...
- Redis中7种集合类型应用场景&redis常用命令
Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部 ...
- Redis各个数据类型的使用场景
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). Redis列表命令 参考:http://www.r ...
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- Redis的数据类型以及每种数据类型的使用场景
人就是很奇怪的动物,很简单的问题往往大家都容易忽略,当我们在使用分布式缓存Redis的时候,一个最简单的问题Redis的数据类型以及每种数据类型的使用场景是什么? 是不是觉得这个问题很基础?我也这么觉 ...
- 3.redis 都有哪些数据类型?分别在哪些场景下使用比较合适?
作者:中华石杉 面试题 redis 都有哪些数据类型?分别在哪些场景下使用比较合适? 面试官心理分析 除非是面试官感觉看你简历,是工作 3 年以内的比较初级的同学,可能对技术没有很深入的研究,面试官才 ...
随机推荐
- C++ 标准文档
正式的 C++ 标准文档不是免费的,需要付费购买,可以到 ISO Store 或者其成员国的标准商店购买正版(中国 SACinfo 标准信息服务网,美国 ANSI WebStore,其他成员国可查看 ...
- 达梦dba_segments指定表名查询到的大小都包含哪些数据
一.结论 dba_segments指定表名查询到的段大小包含索引.约束.表字段数据(包含LOB字段)(1)表(不包含LOB字段)创建默认分配2个簇,1个簇用于存放表结构及字段数据,1个簇用于存放clu ...
- 2022.2.26A组总结&反思
今天的发挥比较奇妙.. T1:一眼dp+高斯消元,但是感觉细节比较多,然后先去做了T2,写完后回来推了一下就做出来了.比较裸,但是细节确实多,但是很可惜的一点是最后提交的代码没有判不合法,到手的100 ...
- 齐博x1云市场注意事项
安装云市场应用注意事项 大到频道,小到插件甚至钩子及风格都可以在线安装,在线升级. 但是有一个大家务必注意的地方,就是重装系统后,再安装有可能导致重复收费. 这个问题是可以解决的.当然如果不是重装系统 ...
- Shell揭秘——程序退出状态码
程序退出状态码 前言 在本篇文章当中主要给大家介绍一个shell的小知识--状态码.这是当我们的程序退出的时候,子进程会将自己程序的退出码传递给父进程,有时候我们可以利用这一操作做一些进程退出之后的事 ...
- ML-朴素贝叶斯算法
贝叶斯定理 w是由待测数据的所有属性组成的向量.p(c|x)表示,在数据为x时,属于c类的概率. \[p(c|w)=\frac{p(w|c)p(c)}{p(w)} \] 如果数据的目标变量最后有两个结 ...
- Python基础之模块:5、 第三方模块 requests模块 openpyxl模块
目录 一.第三方模块的下载与使用 1.什么是第三方模块 2.如何安装第三方模块 方式一:pip工具 方式二:pycharm中下载 3.注意事项 1.报错并有警告信息 2.报错,提示关键字 3.报错,无 ...
- 系统整理K8S的配置管理实战-建议收藏系列
目录 一.ConfigMap 1.1.创建 1.1.1.from-file 1.1.2.from-env-file 1.1.3.from-literal 1.1.4.基于yaml文件创建 1.2.Po ...
- Substring 在BCL和CLR里面搞了啥
楔子 还是做点事情,不要那么散漫. 本文以简单的Substring(int startindex,int Length)函数为例,来递进下它在托管和非托管的一些行为. 以下均为个人理解,如有疏漏请指正 ...
- ubuntu基本
ubuntu使用过程中遇到的指令 apt-get更新 当现出net-tools没有可安装候选 的提示时,可能是apt-get需要更新了.通过指令sudo apt install net-tools p ...