【Redis】set 数据类型

文章目录

  • 常用命令
    • sadd & smembers
    • sismember & scard
    • spop
    • smove & srem
  • 多个集合间的交互命令
    • 交集 & sinter & sinterstore
    • 并集 & sunion & sunionstore
    • 差集 & sdiff & sdiffstore
  • 内部编码

集合类型也是保存多个字符串类型的元素的,但和列表类型不同的是 set 中的元素之间是无序且不重复的。一个集合最多可以存储 2^32 - 1 个元素。多个集合之间可以取交集、并集、差集。

常用命令

sadd & smembers

sadd:将一个或多个元素插入到 set 中,重复元素无法插入

smembers:获取 set 中所有元素

img

sismember & scard

sismember:判断指定元素是否在 set 中

scard:返回 set 的元素个数

img

spop

因为 set 是无序的,所以 spop 会在 set 中随机取出指定数量个元素

img

smove & srem

smove:将指定 set 中的指定元素取出并放到另一个指定 set 中

srem:取出 set 中的指定元素

img

多个集合间的交互命令

交集 & sinter & sinterstore

sinter:获取多个指定 set 的交集

img

sinterstore:获取多个指定 set 的交集并放到指定的目标 set 中,sinterstore 后面跟着的是一个不存在的目标 set

img

并集 & sunion & sunionstore

用法与上述的交集命令一样

img

差集 & sdiff & sdiffstore

用法与上述的两个都一样

img

内部编码

集合类型的内部编码有两种:

  • 当集合中的元素都是整数并且元素的个数⼩于 set-max-intset-entries 配置(默认512个)Redis 会选⽤ intset 来作为集合的内部实现减少内存消耗
  • 不满足 intset 时就会选用 hashtable 实现

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

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

相关文章

文旅元宇宙平台|景区导览|数字人导游|智能导览系统

随着科技的飞速发展,人工智能、虚拟数字人以及元宇宙等前沿技术逐渐走进人们的日常生活,为各行各业带来了前所未有的变革。在这个数字化浪潮中,道可云文旅元宇宙平台应运而生,以其独特的技术应用和创新的商业模式,引领…

前沿论文 | LLM推理性能优化最佳实践

原文:安全验证 - 知乎​ 来源 题目:LLM Inference Performance Engineering: Best Practices 地址:https://www.databricks.com/blog/llm-inference-performance-engineering-best-practices 在这篇博文中,MosaicML工程团队分析了…

node.js-包

包的概念 包:将模块,代码,其他资料聚合成的一个文件夹 包分类: 1.项目包:主要用于编写项目和业务逻辑的文件夹 2.软件包:封装工具和方法供开发者使用(一般使用npm管理) 1&#…

编译支持播放H265的cef控件

接着在上次编译的基础上增加h265支持编译支持视频播放的cef控件(h264) 测试页面,直接使用cef_enhancement,里边带着的那个html即可,h265视频去这个网站下载elecard,我修改的这个版本参考了里边的修改方式,不过我的这个…

BI建设案例:FineBI大数据分析平台助力工程机械行业降本增效

工程机械行业作为国民经济的重要支柱,产品多样化、应用广泛,市场集中度高。其上游涉及原材料和核心零部件,下游则与房地产、基建工程和采矿等行业紧密相连。 如今,中国已崛起为全球工程机械制造大国,各类机械产品产量…

物联网通信中NB-IoT、Cat.1、Cat.M该如何选择?

物联网通信中NB-IoT、Cat.1、Cat.M该如何选择? 参考链接:物联网通信中NB-IoT、Cat.1、Cat.M该如何选择?​​ 在我们准备设计用于大规模联网的物联网设备时,选择到适合的LTE IoT标准将是我们遇到的难点。这是我们一开始设计产品方案就需要解决的一个问题,其决定我们设备需…

力扣HOT100 - 101. 对称二叉树

解题思路: class Solution {public boolean isSymmetric(TreeNode root) {if(root null) return true;return recur(root.left, root.right);}boolean recur(TreeNode L, TreeNode R) {if (L null && R null) return true;if (L null || R null || L.…

IDEA代码重构

重构 重构的目的: 提高代码的可读性、可维护性、可扩展性和性能。 重命名元素 重命名类 当我们进行重命名操作的时候可以看到第六行存在一个R(rename),点击后就会弹出所偶有引用,这样可以避免我们在修改后存在遗漏引用处未修改。 我们可以通过…

Opencv_2_ 图像色彩空间转换

ColorInvert.h 内容如下&#xff1a; #pragma once #include <opencv.hpp> using namespace std; #include <opencv.hpp> using namespace cv; using namespace std; class ColorInvert{ public : void colorSpaceInvert(Mat&image); }; ColorInvert.cpp…

SublimeText - 汉化插件安装教程

第一步&#xff1a;快捷键CTRLShiftp&#xff0c;&#xff08;如果是Mac&#xff0c;则是command Shiftp&#xff09; 弹出查找栏—找到 install Package&#xff0c;并点击选择。 如下图&#xff1a; 第二步&#xff1a;再次弹出的框中&#xff0c;选择 ChineseLocalizations…

LLM使用方法介绍,持续更新

LLM使用方法介绍&#xff0c;持续更新 1. LLM本地搭建与运行 1. Ollama的安装 网址&#xff1a;https://ollama.com/点击Download选择对应的操作系统下载安装软件&#xff0c;软件默认安装在C盘无法选择路径&#xff1b; 安装完成后&#xff0c;WinR进入终端执行&#xff1a…

JavaScript(二)

JavaScript的语法 1.JavaScript的大小写 在JavaScript中&#xff0c;大小写是敏感的&#xff0c;这意味着大小写不同的标识符被视为不同的变量或函数。例如&#xff0c;myVariable 和 myvariable 被视为两个不同的变量。因此&#xff0c;在编写JavaScript代码时&#xff0c;必…