大数据学习之Redis,十大数据类型的具体应用(二)

目录

3.5 Redis 集合(Set)

单值多value,且无重复

sadd / smembers / sismember / srem / scard

srandmember / spop

smove

集合运算

应用场景

3.6 Redis有序集合Zset(sorted set)

有序有重复

zadd / zrange / zrevrange

zrangebyscore

zscore / zcard / zrem

zincrby / zcount / zmpop

zrank / zrevrank

应用场景


3.5 Redis 集合(Set)

单值多value,且无重复
sadd / smembers / sismember / srem / scard
  • sadd key member [member ...]

    添加元素

sadd set1 1 1 1 2 2 2 3 4 5 #输出5
  • smembers key

    遍历集合中的所有元素

smembers set1 #输出 1 2 3 4 5
  • sismember key member

    判断元素是否在集合中

sismember set1 x #输出 0
sismember set1 1 #输出 1
  • srem key member [member ...]

    删除元素

srem set1 y #输出 0
srem set1 1 #输出 1
smembers set1 #输出 2 3 4 5
  • scard

    获取集合里面的元素个数

scard set1 #输出 4
srandmember / spop
  • srandmember key [数字]

    从集合中随机展现设置的数字个数元素,元素不删除

sadd set1 1 2 3 4 5 6 7 8 #输出 4
smembers set1 #输出 1 2 3 4 5 6 7 8
srandmember set1 1 #输出 3
srandmember set1 3 #输出 7 2 6
smembers set1 #输出 1 2 3 4 5 6 7 8 对原始数据不破坏
  • spop key [数字]

    从集合中随机弹出一个元素,出一个删一个

spop set1 1 #输出 8 
spop set1 1 #输出 2
spop set1 2 #输出 6 4
smembers set1 #输出 1 3 5 7 对原始数据破坏
smove
  • smove key1 key2

    将key1里已经存在的某个值赋给key2

sadd set2 a b c #输出 3
smove set1 set2 7 #输出 1
smember set1 #输出 1 3 5
smember set2 #输出 b a 7 c
集合运算
  • 集合运算

del set1
del set2
sadd set1 a b c 1 2
sadd set2 1 2 3 a x

集合的差集运算 A - B ,属于A但是不属于B的元素构成的集合

  • sdiff key [key ...]

sdiff set1 set2 #输出 b c
sdiff set2 set1 #输出 3 x

集合的并集运算 A∪B ,属于A或者属于B的元素构成的集合

  • sunion key [key ...]

sunion set1 set2 #输出 x a b 1 2 3 c

集合的交集运算 A∩B ,属于A同时属于B的元素构成的集合

  • sinter key [key ...]

sinter set1 set2 #输出 a 1 2 
  • sintercard numkeys key [key ...] [LIMIT limit]

它不返回结果集,而只返回结果的基数。 返回由所有给定集合的交集产生的集合的基数

  • 基数:去重之后的数字个数

sintercard 2 set1 set2 #输出 3
sintercard 2 set1 set2 limit 1 #输出 1
sintercard 2 set1 set2 limit 2 #输出 2
sintercard 2 set1 set2 limit 3 #输出 3
sintercard 2 set1 set2 limit 4 #输出 3
应用场景

可能认识的人

3.6 Redis有序集合Zset(sorted set)

有序有重复

在set基础上,每个val值前加一个score分数值

之前set是k1 v1 V2 v3

现在zset是k1 score1 v1 score2 v2

向有序集合中加入一个元素和该元素的分数

zadd / zrange / zrevrange
  • zadd key score member [score member ...]

添加元素

zadd zset1 60 v1 70 v2 80 v3 90 v4 100 v5
  • zrange key start stop [withscores]

按照元素分数从小到大的顺序,返回索引从start到stop之间的所有元素

zrange zset1 0 -1 #输出 v1 v2 v3 v4 v5
zrange zset1 0 -1 withscores # v1 60 v2 70 v3 80 v4 90 v5 100
  • zrevrange

zrevrange zset1 0 -1 withscores #输出 v5 100 v4 90 v3 80 v2 70 v1 60
zrangebyscore
  • zrangebyscore key min max [withscores] [limit offset count]

获取指定分数范围的元素

withscores --> 输出带分数

( --> 不包括

limit 作用是返回限制 ;limit开始下标步 多少步

zrangebyscore zset1 60 90 #输出 v1  v2 v3 v4
zrangebyscore zset1 60 90 withscores #输出 v1 60 v2 70 v3 80 v4 90
zrangebyscore zset1 (60 90 withscores #输出 v2 70 v3 80 v4 90
zrangebyscore zset1 (60 90 withscores limit 0 2 #输出 v2 70 v3 80
zscore / zcard / zrem
  • zscore key member

获取元素的分数

zscore zset1 v5 #输出 100
zscore zset1 v4 #输出 90
  • zcard key

获取集合中元素的数量

zcaed zset1 #输出 5
  • zrem key

某score下对应的value值,作用是删除元素

zrem zset1 v5 #输出 1
zrem zset1 v5 #输出 0
zrange zset1 0 -1 withscores #输出 v1 60 v2 70 v3 80 v4 90
zincrby / zcount / zmpop
  • zincrby key increment member

增加某个元素的分数

zincrby zset1 3 v1 #输出 63
zrange zset1 0 -1 withscores #输出 v1 63 v2 70 v3 80 v4 90
  • zcount key min max

获得指定分数范围内的元素个数

zcount zset1 65 70 #输出 1
  • zmpop

从键名列表中的第一个非空排序集中弹出一个或多个元素,他们是成员分数对

zmpop 1 zset1 min count 1 #输出 zset1 v1 63
zrank / zrevrank
  • zrank key values值

作用是获得下标值

zrange zset1 0 -1 #输出 v2 v3 v4
zrank zset1 v2 #输出 0
  • zrank key values值

作用是逆序获得下标值

zrevrank zset1 v2 #输出 2
应用场景

打赏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/658376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机设计大赛 深度学习 python opencv 动物识别与检测

文章目录 0 前言1 深度学习实现动物识别与检测2 卷积神经网络2.1卷积层2.2 池化层2.3 激活函数2.4 全连接层2.5 使用tensorflow中keras模块实现卷积神经网络 3 YOLOV53.1 网络架构图3.2 输入端3.3 基准网络3.4 Neck网络3.5 Head输出层 4 数据集准备4.1 数据标注简介4.2 数据保存…

Kafka 记录

推荐资源 官网http://kafka.apache.org/Githubhttps://github.com/apache/kafka书籍《深入理解Kafka 核心设计与实践原理》 Kafka 架构 Kafka使用ZooKeeper作为其分布式协调框架,其动态扩容是通过ZooKeeper来实现的。Kafka使用Zookeeper保存broker的元数据和消费者信…

代码随想录算法训练营29期Day35|LeetCode 860,406,452

文档讲解:柠檬水找零 根据身高重建队列 用最小数量的箭引爆气球 860.柠檬水找零 题目链接:https://leetcode.cn/problems/lemonade-change/description/ 思路: 很简单,模拟即可。统计五美元、十美元和十五美元的个数。给五美元…

cesium-加载地形图

废话不多说 直接代码 <template><div id"cesiumContainer" style"height: 100vh;"></div><div id"toolbar" style"position: fixed;top:20px;left:220px;"><el-breadcrumb><el-breadcrumb-item>…

【Java万花筒】通信无限:构建强大的Java应用的电信与通信库

连接世界&#xff1a;发挥Java的电信与通信库的集成能力 前言 通信在现代社会中起着至关重要的作用&#xff0c;而在Java应用程序中集成通信功能可以为用户提供更好的体验。本文将介绍几个强大的电信与通信库&#xff0c;包括Java Communications API (javax.comm)、Apache C…

第3章-python深度学习——(波斯美女)

第3章 神经网络入门 本章包括以下内容&#xff1a; 神经网络的核心组件 Keras 简介 建立深度学习工作站 使用神经网络解决基本的分类问题与回归问题 本章的目的是让你开始用神经网络来解决实际问题。你将进一步巩固在第 2 章第一个示例中学到的知识&#xff0c;还会将学到的…

外汇监管牌照解析:确保交易安全与合规性

外汇交易中&#xff0c;资金安全与平台监管是大家最关心的话题。监管是评估外汇经纪商是否值得信赖、是否具备相关资质的关键依据&#xff0c;因此选择一家拥有海外合法监管的经济商至关重要。 那么&#xff0c;今天我们就来聊聊全球权威的几大监管机构 — FCA、ASIC、NFA、FSA…

【思科】 GRE VPN 的实验配置

【思科】GRE VPN 的实验配置 前言报文格式 实验需求配置拓扑GRE配置步骤R1基础配置GRE 配置 ISP_R2基础配置 R3基础配置GRE 配置 PCPC1PC2 抓包检查OSPF建立GRE隧道建立 配置文档 前言 VPN &#xff1a;&#xff08;Virtual Private Network&#xff09;&#xff0c;即“虚拟专…

多线程事务如何回滚?

背景介绍 1&#xff0c;最近有一个大数据量插入的操作入库的业务场景&#xff0c;需要先做一些其他修改操作&#xff0c;然后在执行插入操作&#xff0c;由于插入数据可能会很多&#xff0c;用到多线程去拆分数据并行处理来提高响应时间&#xff0c;如果有一个线程执行失败&am…

在Mixamo网站上,下载的动画导入unity给自己的模型添加后出错怎么解决

在Mixamo网站上&#xff0c;下载的动画导入unity给自己的模型添加后出错 一、在Mixamo下载的模型可以正常使用二、在自己的模型和unity自带模型上就出错1.解决方法2.解决成功 注意 一、在Mixamo下载的模型可以正常使用 二、在自己的模型和unity自带模型上就出错 1.解决方法 选…

C/C++ - 类的继承机制

目录 类继承 继承的本质 继承的作用 继承的语法 继承的权限 继承的构造析构 继承构造函数 继承析构函数 继承的基类调用 继承的对象赋值 继承与友元关系 继承与静态成员 不能被继承的类 构造函数 语法特性 单继承 单继承的特点 多继承 多继承概念 多继承语…

Linux ubuntu 20.4.6安装docker

这边需要在vm中使用docker&#xff0c;记录下 1.更新系统包列表 确保您的系统包列表是最新的 sudo apt update 2.安装依赖工具 sudo apt install apt-transport-https ca-certificates curl software-properties-common 3.添加Docker GPG密钥 curl -fsSL https://downloa…

Android Room数据库异常: Room cannot verify the data integrity.

文章目录 一、前言二、错误信息如下三、参考链接 一、前言 在Room数据库结构变动的情况下&#xff0c;如果没有进行Room数据库升级迁移&#xff0c;则会报错Room cannot verify the data integrity.。在实际开发过程中&#xff0c;数据库结构会经常变化&#xff0c;直到发版。…

Centos 7.9 在线安装 VirtualBox 7.0

1 访问 Linux_Downloads – Oracle VM VirtualBox 2 点击 ​the Oracle Linux repo file 复制 内容到 /etc/yum.repos.d/. 3 在 /etc/yum.repos.d/ 目录下新建 virtualbox.repo&#xff0c;复制内容到 virtualbox.repo 并 :wq 保存。 [rootlocalhost centos]# cd /etc/yum.rep…

【数据结构 05】双链表

一、原理 双链表又称双向链表&#xff0c;通常情况下是带头循环结构&#xff0c;在CSTL标准模板库中封装的<list.h>头文件就是带头双向循环链表。 特性&#xff1a;增删灵活且高效&#xff0c;支持随机增删但不支持随机访问 设计思路&#xff1a; 链表包含一个头节点h…

一维差分(c++题解)

题目描述 输入一个长度为n的整数序列。 接下来输入 个操作&#xff0c;每个操作包含三个整数 &#xff0c;表示将序列中 之间的每个数加上 。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两个整数 n 和 m。 第二行包含n个整数&#xff0c;表示整数序列。 接下来…

【Linux】模拟实现一个简单的minishell

目录 从显示屏获取输入字符流 分割字符串 取出命令名称及选项 去除输入时多按的那个换行符 创建子进程&#xff0c;实现程序替换 如果替换失败&#xff0c;进程终止exit 查看子进程情况 实现echo $?功能 实现cd 最终代码 基本思路 让父进程创建一个子进程&#xff0c…

我用Java写了一个简单的二叉树算法

二叉树是一种常见的数据结构&#xff0c;它是由节点和连接节点的边组成的。每个节点最多有两个子节点&#xff0c;分别称为左子节点和右子节点。二叉树算法包括遍历、查找、插入、删除等操作。 class Node {int data;Node left, right;public Node(int item) {data item;left…

[NCTF2019]Fake XML cookbook(特详解)

先试了一下弱口令&#xff0c;哈哈习惯了 查看页面源码发现xml function doLogin(){var username $("#username").val();var password $("#password").val();if(username "" || password ""){alert("Please enter the usern…

微信小程序如何调整checkbox和radios选择框的大小和样式

目录 修改选中框大小 修改Checkbox样式 修改Radio样式 修改选中框大小 直接使用width和height调整checkbox和radios选择框的大小是无效的,简单的调整大小可以通过修改transform值,如下所示: .wxss .fill-checkbox{transform: scale(0.5,0.5); } scale参数分别为在长…