首页 > 数据库 >Redis set数据类型命令使用及应用场景使用总结

Redis set数据类型命令使用及应用场景使用总结

时间:2023-01-01 20:34:21浏览次数:54  
标签:set 10001 0.1 数据类型 Redis 6379 127.0 key action

转载请注明出处:

目录

  1.sadd 集合添加元素   2.srem移除元素   3.smembers 获取key的所有元素   4.scard 获取key的个数   5.sismember 判断member元素是否存在集合key中   6.srandmember key count 从集合key中随机选出count个元素,元素不从key中删除   7.spop 从集合key中随机选出count个元素,元素从key中删除   8.sinter 交集运算   9.sinterstore 将交集的结果存入到新集合destination中   10.sunion 并集运算   11.sunionstore 将并集结果存入新集合destionation中   12.sdiff 差集运算   13.sdiffstore 将差集结果存入新的集合

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> 

  应用场景:可能认识的人

 

 

标签:set,10001,0.1,数据类型,Redis,6379,127.0,key,action
From: https://www.cnblogs.com/zjdxr-up/p/17018543.html

相关文章

  • Django——全局配置settings详解
    Django设置文件包含你所有的Django安装配置。这个文件一般在你的项目文件夹里。比如我们创建了一个名为mysite的项目,那么这个配置文件setting.py就在项目里的mysite文件夹......
  • 数据类型
    数据类型强类型语言:Java、C++变量的使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言:VB、JavaScript('12'+3=123、'12'+3="123")long:数字后必须加“L”,不......
  • ES6什么是结构-set\map怎么用
         window.onload=function(){vara=1;varb=2;varc=3;vara=1,b=2,c=3;//数组解构//Es6匹配模式:等号两......
  • clientset 使用
    ClientSet介绍Clientset是调用Kubernetes资源对象最常用的客户端,可以操作所有的资源对象。前面我们说了在 staging/src/k8s.io/api 下面定义了各种类型资源的规范,......
  • TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和 tf.data.Dataset机
    TensorFlow数据读取机制:文件队列tf.train.slice_input_producer和tf.data.Dataset机制  之前写了一篇博客,关于《​​Tensorflow生成自己的图片数据集TFrecord​​》,项......
  • linux 安装redis
    一,redis的官网:https://redis.io///下载wgethttps://download.redis.io/releases/redis-7.0.7.tar.gz二、安装准备//安装gccgcc--versionyuminstallgcc/......
  • Java数据类型及数据类型转换
    数据类型1、基本类型(PrimitiveType)(1)数值类型:整数类型:byte:占1个字节范围:-128-127short:占2个字节范围:-32768-32767int:占4个字节范围:-2147483648-2147483647long:占......
  • esp32 path set
    #Thisshellsnippetappendsusefulesp-idftoolstoyourPATHenvironment#variable.Thismeansyoucanrunesp-idftoolswithoutneedingtogivethe#full......
  • Mysq - 基本数据类型,约束,表的修改,删除表,清空表
    1.基本数据类型整数类型:bit,bool,tinyint,smallint,mediumint,int,bigint浮点数类型:float,double,decimal字符串类型:char,varchar,tinytext、text,mediumtext,longtext,tinyblob,blob,m......
  • Linux:使用snap安装Redis
    文档官网https://snapcraft.io/红帽Linux平台下安装教程https://snapcraft.io/docs/installing-snap-on-red-hat搜索应用https://snapcraft.io/search安装rpm-iv......