Redis--Set类型

目录

一、引言

二、介绍

三、命令

1.sadd,smembers,sismember

2.spop,srandmember

3.smove,srem

4.sinter,sinterstore

5.sunion,sunionstore,sdiff,sdiffstore

四、内部编码

1.intset

2.hashtable

五、应用场景

1.使用Set保存用户的标签

2.Set方便计算交集

3.使用Set统计UV

六、总结


一、引言

  本篇文章将简单介绍redis中value的类型set类型以及其相关命令和使用场景。

二、介绍

  其他的set:设置(和get相对应)。

  redis中的set就是集合,集合中的元素是无序的。和list类似,集合中的每个元素也都是String类型,但是使用json这样的格式可以存储结构化的数据。

三、命令

1.sadd,smembers,sismember

sadd:添加元素           时间复杂度:O(1)

smembers:查看当前集合中的所有元素

sismember:判定当前的元素是否在集合中

2.spop,srandmember

spop:从末尾删除一个元素

srandmember:随机获取一个元素,但是不进行删除

3.smove,srem

smove:移动一个集合中的元素到另外一个集合中

srem:删除member

4.sinter,sinterstore

sinter:交集,最终结果同时出现在两个集合中  时间复杂度:O(N*M)

sinterstore:把交集存入到另外一个集合中

5.sunion,sunionstore,sdiff,sdiffstore

sunion:并集,把多个集合中的数据都集合在一起,如果元素有重复,只保留一份

sunionstore:将并集的结果存入到另外一个集合中

sdiff:差集:找出某些元素在A中存在,在B中不存在

sdiffstore:放入到新的集合中

四、内部编码

1.intset

  整数集合:当元素都是整数的时候,且元素个数不是特别多的时候,内部编码就是整数集合,为了节省空间。

2.hashtable

哈希表:存在字符串或者元素个数比较多的时候就转换为哈希表。

五、应用场景

1.使用Set保存用户的标签

2.Set方便计算交集

容易找到两个用户之间的公共标签,增强了用户关系。

3.使用Set统计UV

  1.PV page view  用户每次访问该浏览器,就会产生一次PV。

  2.UV user view  每个用户访问服务器就会产生一次UV,同一个用户多次访问不会使UV增加。

六、总结

  本篇文章简单介绍了redis中value的类型set类型以及其相关命令和使用场景。下一篇我们将讲解zset类型的相关命令以及内部编码等,感谢观看!

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

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

相关文章

for...of的用法与介绍

一、定义 for...of 是 ES6(ECMAScript 2015)引入的一种用于 遍历可迭代对象(Iterable)的循环语句 二、语法 for (const item of iterable) {// 代码块 }参数: iterable:一个可迭代对象(如数组…

Faster R-CNN原理详解以及Pytorch实现模型训练与推理

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

使用dockerfile创建镜像

1.什么是Dockerfile Dockerfile 是一个用于指导 Docker 镜像构建过程的脚本文件。它通过一系列指令来详细描述了构建镜像所需的步骤和配置细节。利用 Dockerfile,我们可以精确地设定容器的运行环境,安装必要的软件,复制项目文件,…

在CentOS系统上安装Conda的详细指南

前言 Conda 是一个开源的包管理系统和环境管理系统,广泛应用于数据科学和机器学习领域。本文将详细介绍如何在 CentOS 系统上安装 Conda,帮助您快速搭建开发环境。 准备工作 在开始安装之前,请确保您的 CentOS 系统已经满足以下条件&#x…

大脑宏观结构中的富集俱乐部:图论分析视角

摘要 大脑是一个高度复杂的网络。越来越多的证据支持大脑网络中一组重要脑区的关键作用,这些脑区通常被称为大脑的“核心”或“枢纽”区域。这些区域不仅能量消耗较高,而且在神经信息传递方面的效率也极高,因此被称为“富集俱乐部”。富集俱乐…

Redis7——进阶篇(五)

前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一)Redis(二)Redis(三)Redis&#x…

Reflect.get和target[key]有何不同?

主要区别在this指向不同,下面输出张三还是李四?: const person{name:张三,get FullName(){return this.name;},};let personProxynew Proxy(person,{get(target,key){return Reflect.get(target,key)//或者return target[key]}});const p1{__proto__:pe…

rust语言match模式匹配涉及转移所有权Error Case

struct S{data:String, }//注意:因为String默认是移动语义,从而决定结构体S也是移动语义,可采用(1)或(2)两种方法解决编译错误;关键思路:放弃获取结构体S的字段data的所有权,改为借用。fn process(s_ref:&a…

光谱相机检测肉类新鲜度的原理

光谱相机通过分析肉类样本在特定波长范围内的光谱反射特性,结合化学与生物指标的变化规律,实现对其新鲜度的无损检测。其核心原理可概括为以下方面: 一、光谱特征与物质成分的关联性 ‌物质特异性吸收/反射‌ 不同化学成分(如水分…

c#面试题整理9

1.遍历xml文档 2.解释一下这段 String s new String("xyz"); 这段在C#平台中,编译失败 3.说明一下抽象类 抽象类可以有构造函数 抽象类不能是静态和密封的类,密封的类表示无法继承,抽象类本身就不可实例化,加不好…

《React 属性与状态江湖:从验证到表单受控的实战探险》

属性初识 属性能解决两个大问题&#xff1a;通信和复用 props.js: import React, { Component } from react import Navbar from ./Navbarexport default class App extends Component {state {a:100}render() {return (<div><div><h2>首页</h2>&l…

Qwen/QwQ-32B 基础模型上构建agent实现ppt自动生成

关心Qwen/QwQ-32B 性能测试结果可以参考下 https://zhuanlan.zhihu.com/p/28600079208https://zhuanlan.zhihu.com/p/28600079208 官方宣传上是该模型性能比肩满血版 DeepSeek-R1&#xff08;671B&#xff09;&#xff01; 我们实现一个 使用Qwen/QwQ-32B 自动生成 PowerPoi…

Javascript基础语法详解

面向对象的语言.脚本语言,不需要编译,浏览器解释即可运行 .用于控制网页的行为.浏览器的source可以打断点调试, console输入代码可以执行 use strict指令: 在“严格模式”下运行js代码, 防止意外创建全局变量等, 提高代码安全性和执行效率. 使用: 全局严格模式&#xff1a;…

[杂学笔记] TCP和UDP的区别,对http接口解释 , Cookie和Session的区别 ,http和https的区别 , 智能指针 ,断点续传

文章目录 1. TCP和UDP的区别2. 对http接口解释3. Cookie和Session的区别4. http和https的区别5. 智能指针6.断点续传 1. TCP和UDP的区别 tcp的特点&#xff1a; 面向连接&#xff0c;可靠性高&#xff0c;全双工&#xff0c;面向字节流udp特点&#xff1a;无连接&#xff0c;不…

JAVASE(五)

目录 一、成员变量和局部变量 1.定义 2.区别 &#xff08;1&#xff09;相同 &#xff08;2&#xff09;不同 二、方法和构造方法 1.定义 2.构造方法细节 3.方法重载 一、成员变量和局部变量 1.定义 &#xff08;1&#xff09;成员变量是…

Matlab中快速查找元素索引号

1、背景介绍 在算法设计过程中&#xff0c;有时候需要从一维/二维数组中&#xff0c;快速查找是否某个元素&#xff0c;以及该元素所在的位置。如一维矩阵[1 2 3 4 5 6 6 7 8]所示&#xff0c;元素6所在的位置为6 7。 2、函数测试 matlab中函数find()可以快速查找到指定元素所…

【DuodooTEKr 】多度科技 以开源之力,驱动企业数字化转型

多度科技 背景 / Background 在全球产业链重构与国内经济双循环的浪潮下&#xff0c;中国制造业与贸易企业正面临数字化升级的迫切需求。开源技术作为数字化转型的基石&#xff0c;不仅能打破技术壁垒、降低企业成本&#xff0c;更能通过协作创新加速产业智能化进程。 多度科技…

【HarmonyOS Next】鸿蒙应用故障处理思路详解

【HarmonyOS Next】鸿蒙应用崩溃处理思路详解 一、崩溃问题发现后定位 1. 崩溃现象&#xff1a; 常见的崩溃问题表现为&#xff0c;应用操作后白屏闪退&#xff0c;或者应用显示无响应卡死。 2.定位问题&#xff1a; 发现崩溃后&#xff0c;我们首先需要了解复现步骤&#x…

linunx ubuntu24.04.02装libfuse2导致无法开机进不了桌面解决办法

osu.appimage运行需要libfuse2 然后我就下了fuse,打了两把第二天无法开机 这样是不能开机的 这样是可以开机的 解决办法一&#xff1a;玩星火商店的osu&#xff0c;好了问题解决 解决办法二&#xff1a; 在这个页面 ctrl alt f2进入tty6 sudo apt install ubuntu-desktop 进…

Maven 的常用指令

一、核心构建指令 mvn clean 作用&#xff1a;删除 target 目录&#xff08;清理编译/打包生成的文件&#xff09;。 场景&#xff1a;确保从头开始构建&#xff0c;避免残留文件干扰。 mvn compile 作用&#xff1a;编译项目源代码。 场景&#xff1a;快速检查代码是否能编…